文档章节

程序员工作中绕不开的9大问题,你遇到过几个?

数人云
 数人云
发布于 2017/07/27 15:53
字数 2150
阅读 4
收藏 0
点赞 0
评论 0

最近朋友圈被《北京,有2000万人在假装生活》刷屏了,特大妹昨天的文章里说,作为一个程序猿,有了BUG就没有了生活。在工作中难免会遇到各种各样的问题,今天数人云就列举程序员常见的9个问题,及解题思路,我们程序员从来不假装,哼!

No.1 以用户为中心

在开发过程中,以用户为中心不是一个选项,而是要最优先考虑的事情,要知道水能载舟亦能覆舟,如果你不以甲方粑粑为中心,那么TA可能根本不Care你开发出来的产品,所以必须以用户为中心了解他们的需求。

Markdown

解决办法:

  • 与直面用户的人交谈:想要理解用户,就需与运营人员、用户体验师、设计师去交流,他们的洞察会给你的代码指明方向。

  • 测试版本:如苹果这样的巨头公司在正式版上线之前,通常会发布Bata版本,观察用户的反应,通过反馈完善用户体验及修复BUG。

No.2 调试

你以为你的应用会按照你以为的那样运行吗?NO!测试童鞋拿出一长串的BUG表单在你美梦的尽头等着你:Web表单上的取消按钮无法点击、错误消息上的语法不对等等,都会导致用户体验上的问题,有些BUG很容易调试,有些则不然,会减少开发工作的时间而且让人沮丧不已。

Markdown

解决办法:

  • 重写:在此过程中,理解它们为什么发生,进而解决问题。

  • 得到帮助:当项目的工期将尽,很多程序员往往先恐慌后才去思考,如果没时间重写,可以让测试人员帮助一起调试。

No.3 掌握最IN技术

俗话说:“落后就要挨打”,技术在不断发展,现有框架、工具、库等可能会很快过时,如前端框架通常1—2年就会更新迭代,从某种意义上说,新版本更高效使工作更容易,但也需要时间去适应。

Markdown

解决办法:

  • 花时间学习新系统:每天挤出20—30分钟的时间学习新工具的工作方式,如果认为新版本(工具)可以更好地工作,那么在业余时间去学习如何使用以改进工作流程。

  • 跟上最新的趋势:将阅读作为每天必做的事情,哪怕工作繁忙,新趋势带来的帮助意义非凡,可以开发出更多的创新产品。

No.4 沟通

程序员们大都是Shy Boy,换了新的工作和环境后和周遭同事不熟,会犹豫是否要与他们进行沟通,从代码到公司等等,很多程序员在某个时刻都面临着这个问题,不要觉得只要把自己的任务完成就没问题了,它可能会引发一些冲突。

Markdown

解决办法:

  • 积极主动:不要害怕向同事提问,尤其是在工作中遇到的任何问题,当向别人敞开心扉,也会更快地适应公司的文化,如果十分内向,那么提升自信是必须要做的事情。

  • 提炼语言:有时候表达的不够准确直接,进而无法阐述问题,要从中吸取经验,练习话术,争取下次做的更好。

  • 学习&分享:目前技术类型的线下活动越来越多,曾经很多害羞的程序员小伙伴都走上台分享技术经验同时也有不少善于总结的人开通了技术专栏,粉丝无数,惊不惊喜?开不开心?不如行动吧。

No.5 时间预估

作为报价和项目时间表的基础,预估在开发中非常重要,程序员会被要求提供如调试代码在Sprint中完成某些特性工作所需的时间。你想获得更多的时间完成一项任务,给老板留下好印象,同时也提升了应用质量,不过你的团队可能会是另外一种看法,因为这样会拖慢进度。

Markdown

解决办法:

  • 分解任务:将任务进行拆分,是更容易和更好的管理办法,测试只在你工作中发现了十几个错误吗?将每个BUG看做一个迷你的任务,并预估完成每项任务可能需要花费的时间。

  • 预留时间:给每个任务设定完成的时间框架,不过也要给自己一个缓冲,如任务通常需要20分钟,那么在将时间框架设定为30分钟。

No.6 持续久坐

在开发过程中,长时间坐着也是工作的一部分,腰酸背痛腿抽筋这些毛病可能会来找你的麻烦,研究表明,每天坐5个小时以上会产生严重的健康风险,如心脑血管疾病和肥胖症(不禁摸了摸小肚腩),同时也会让人在白天感到更困倦。

Markdown

解决办法:

  • 站起来:站着工作可以减轻背部压力,改善血液循环,让人有效地进行工作,一些企业甚至投资于高度可调的办公桌,让员工更容易站着工作。

  • 做运动:程序员会经常感到疲倦,没有动力,为了缓解压力,让身体接受一些锻炼,即便是工作前30分钟的散步或慢跑也能让人一整天工作得更好,如果没有时间,那就散散步,吃点东西或喝杯咖啡。

No.7 安全问题

数据的价值极高,很多人愿意为数据花费很高的代价,(小数已经天天被推销、骚扰电话烦死惹。)而且竞争对手想窥探正在开发的秘密项目(如市场营销或企业软件)。

作为程序员,是保证客户信息不受威胁的依靠,但很多程序员将关注点放在代码的正确性而不是安全性上,黑客知道这一弱点,并一直在寻找渗透方式。

Markdown

解决办法:

  • 为SQL注入参数化查询:攻击者可以使用SQL注入来窃取数据,如用户的登录信息,为防止这种攻击,应在编程语言中使用参数化查询。

  • 保持工作站安全:有威胁者未必在网上,如被解雇的员工可能会通过系统窃取或修改一个项目的数据报复老板,所以在使用完应用后,要从软件中注销。

No.8 善用代码

Markdown 程序员在某些时候不得不为别人创造的项目工作,如在开发时中需要编写另外一个开发人员编写的代码。

之前的程序员没向任何人交接工作就拍拍屁股走人离职了,或者虽然在职但忙的焦头烂额无法回答任何问题,最坏的情况是办公室政治,他们不愿意帮你弄清楚代码。

解决办法:

  • 善用遗留代码:需要转变态度,如果有人将代码留下来,那么这些代码就是你的工作了。

  • 花更多的时间阅读代码:花一些时间了解其他开发人员的工作、方法和风格,一旦完成这一操作,将会更容易适应。

No.9 学会规划代码

得到新工作,想证明自己获得良好的第一印象,所以急于地找键盘,敲代码,但那些代码在你脑海里可能是有意义的,却与实际方向背道而驰。

Markdown

解决办法:

  • 从一个想法开始:每个应用都以一个想法开始,如你想要开发的应用可以提醒用户的约会时间,如此,可以让你更专注地写所要代码。

  • 使用思维导图找出用户问题:有了想法后将它画出来,从产品将要解决的问题开始,把想法写在纸上,并为它创建子主题,如想法是用于提醒约会的应用,那么子主题可能就是用户需要它的原因(如:用户有太多的约会要留意。)

© 著作权归作者所有

共有 人打赏支持
数人云
粉丝 16
博文 101
码字总数 328110
作品 0
朝阳
架构师
什么叫做学计算机有天赋? 用自己最真实的例子回答一下谢谢!

我从小思维就比较奇怪。 我妈:你去剥几瓣大蒜。 我:几瓣? 我妈:5、6瓣就可以了。 我:5瓣还是6瓣。 我妈:都可以。 我:哦,那我就剥5瓣了啊。这大蒜怎么有的大有的小啊,剥大的还是小的...

虞姬-lu ⋅ 01/24 ⋅ 0

对“挖坑程序员”的思考

我在Twitter上看到一幅有趣的图片。我不是来责备发帖的这个人,也不是责备转发的人或图的原作者。但如果不说出我对这个图的背后的一些思考,我会憋得难受。 上面的图中,程序员被描绘成一个挖...

oschina ⋅ 2013/07/09 ⋅ 40

IT增值服务,客户案例(一)--山东青岛在职人士,2年.Net经验,转Java开发半年

客户总体情况:2年.Net开发经验,2014年刚刚转Java半年。对Java的若干问题不是非常清楚,仅仅是对JSP/Servlet/JavaBean Spring、SpringMVC、Mybatis有点基础性的认识。 项目中就主要用到了上...

技术mix呢 ⋅ 2017/11/09 ⋅ 0

前端程序员学习的几个阶段、你正处于哪个阶段呢?

阶段一:不知道自己不知道 大学期间,我和老师做过一些小项目,自认为自己很牛,当时还去过一些公司面试做兼职,但是就是不知道为什么没有回复。那个时期的我,压根不知道自己不知道,还以为...

web前端程序员 ⋅ 2017/12/05 ⋅ 0

美团前端程序员第二轮面试的10个问题,你会几个?

近日,w3cschool app开发者头条上分享了美团前端程序员第二轮面经,引来了不少程序员粉丝们的围观。 在分享面经之前,不妨先了解一下前端面试应该做好哪些准备呢? 0、前端面试加分 前端面试g...

W3Cschool ⋅ 04/19 ⋅ 0

PHP程序员如何突破技术瓶颈

身边有几个做PHP开发的朋友,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展。 先明确我所指的PHP工程题,是指毕...

靐zend ⋅ 2012/04/11 ⋅ 2

走出软件作坊

这本书 讲解了从程序员到cto之路的成长历程,而且也为中小型企业遇到的一些管理问题提供的解决方案。 首先对于客户,客户和老板沟通一个项目,然后有了初步需求,然后程序员做一个demo,告诉...

阳666 ⋅ 2016/12/18 ⋅ 0

我到底怎么了,程序员“吐血”有原因。

我是90后,我和大部分人一样,怀揣着梦想来到了上海上大学,也和大部分人一样顺利毕业进入一家外企,开始了码农生活,每天认认真真工作,在工作之余也在自学其他语言的编程,经过一年的努力,...

书中自有颜如欲 ⋅ 06/09 ⋅ 0

成长历程的四个阶段

阶段一:不知道自己不知道(Unconscious incompetence) 大学期间,我和老师做过一些小项目,自认为自己很牛,当时还去过一些公司面试做兼职,但是就是不知道为什么没有回复。那个时期的我,压...

Flyes ⋅ 2017/12/04 ⋅ 0

程序员成长历程的四个阶段

  下面是一位前辈总结的程序员成长四个阶段,个人觉得非常有道理,你在哪个阶段?      阶段一:不知道自己不知道(Unconscious incompetence)   大学期间,我和老师做过一些小项目,...

Web前端开发 ⋅ 2017/03/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java集合类总结笔记

一、集合类的层次关系 主要容器集合类的特点: ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行高效地插入和删除的有序序列 ArrayDeque 一种用循环数组实现的...

edwardGe ⋅ 9分钟前 ⋅ 0

spring RMI远程调用

RMI https://www.cnblogs.com/wdh1995/p/6792407.html

BobwithB ⋅ 14分钟前 ⋅ 0

Jenkins实践2 之基本配置

1 插件管理 系统管理->插件管理 在可选插件中可以自主安装插件 2 管理用户 系统管理->管理用户->新建用户 3 安全配置 系统管理->全局安全配置 授权策略 选择安全矩阵 然后添加现有的用户,赋...

晨猫 ⋅ 14分钟前 ⋅ 0

c++智能指针

1、是一种泛型类,针对指针类型的泛型类,会保存指针 2、重载了符号 *和-> 对智能指针使用这两个符号,相当于对保存的泛型使用这两个符号 3、当智能指针引用计数为0时,会去释放指针指向的资...

国仔饼 ⋅ 15分钟前 ⋅ 0

Spring Boot错误处理机制

1)、SpringBoot默认的错误处理机制 默认效果: 1)、浏览器,返回一个默认的错误页面 浏览器发送请求的请求头: 2)、如果是其他客户端,默认响应一个json数据 原理: 可以参照ErrorMvcAut...

小致dad ⋅ 17分钟前 ⋅ 0

ftp连接不上的终极办法 SFTP

假如FTP由于各种原因就是连不上,那么用SFTP协议吧,使用登录服务器的账号密码。

sskill ⋅ 21分钟前 ⋅ 0

Unity 围绕旋转角度限制(Transform.RotateAround)

在 Unity 中可以利用 Transform.RotateAround 围绕指定物体进行旋转,但某些情况下可能需要对旋转角度进行控制。我是先计算出预设角度大小,然后判断是否在限定角度范围内是则进行旋转。 相关...

大轩 ⋅ 22分钟前 ⋅ 0

阿里沙箱环境支付宝测试demo

阿里支付宝支付和微信支付,包括:阿里沙箱环境支付宝测试demo,支付宝支付整合到spring+springmvc+mybatis环境和微信整合到如上环境,功能非常齐全,只需要修改对应的配置文件即可,帮助文档...

码代码的小司机 ⋅ 25分钟前 ⋅ 0

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 42分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 46分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部