查看原文
其他

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

2017-07-26 数人云 数人云

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


1

以用户为中心


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



解决办法:


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


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



2

调试


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



解决办法:


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


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



3

掌握最IN技术


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



解决办法:


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


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



4

沟通


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



解决办法:


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


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

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



5

时间预估


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



解决办法:


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


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


6

持续久坐



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



解决办法:


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


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



7

安全问题


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


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



解决办法:


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


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



8

善用代码



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


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



解决办法:


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


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



9

学会规划代码


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


解决办法:


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


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



上述问题你遇到过哪些?欢迎回复一起交流~


推荐阅读:


程序员,为何升职加薪后你会焦虑?

初伏天,热出5种DevOps事件管理工具

实践|SRE遇上金融老干部,解决发布协调&监控告警两大难题


阅读原文,了解更多

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存