[注]十大编程禁忌 -- 程序员都必须克服

程序员在编程的时候不免会犯错误,但若是不从错误中吸收教训,那么习惯成天然,你会常常犯错的。从错误中不断的学习,锻炼好的行为习惯有助于事业上的稳定程序员

这就是咱们如何将小麦从糟糠中区别出来以及如何避免编程禁忌的绝佳经验。此外,最重要的就是能够为客户带来更好的用户体验编程

1. 不提高非技术技能

咱们认为非技术技能是项目成功的主要因素。这些非技术技能也能够称之为“软技能”,整体上来讲,它已经被公司证实为可以驾驭企业和客户之间的长期商业关系,所以也能决定公司的成长发展路径。一些关键的软技能指标包括:安全

a.纪律——这是最重要的特征之一,缺少纪律,最终会让这个开发团队在开发能力上“缺少自信”。解决这一问题的矫正方法就是天天制定详细的to-do清单:兑现你的承诺、完成你开始作的事情、避免多重任务,由于这些每每会让你的生活产生混乱。编程语言

b.顾客的声音——不把客户置于决策的核心地位只会跟大家业务的原始目的相冲突。若是客户不高兴,即便你拥有世界上一流的专业知识和资源也不会起什么做用。保持符合客户指望的解决方案、及时交付才能体现出项目的真正价值。工具

c.沟通——尤为是当客户和供应商并不在同一地点的时候,明确而及时的沟通是填补服务空白的极好措施。主要集中在这三个方面你就能克服问题——进行主题讨论、清晰表达、干脆简洁单元测试

d.了解需求——在整个开发生命周期过程当中,决定成功和失败的之间的一个相当重要的区别将会给人留下深入的印象。经过最初的头脑风暴法了解问题状态,以及后续的交货程序,这其中都要和客户完美配合。只有这样,客户才会赞扬你的工做,给你好评。学习

 

2. 对编码不理智

古人云:善泅者溺,善骑者堕。但估计绝大多数的程序员都认为本身的编程技术绝对的牛。而一样真实的是,每个代码,让不一样的程序员去实现的话都会不可避免地发现它所存在的缺陷。因此说,只有经过在一个项目上的合做,程序员之间必然有的摩擦才能证实谁是最好的。健康的竞争是好事,但它不该该成为一个原本能够成功的项目负担。测试

另外一个创意阻碍是没法将预约义的模板使用在对你有利的开发项目里。几乎全部的编程语言有一个很好的在线 /内置代码片断存储库,能够修补代码,防止从新编程。然而,若是由于不理解需求或缺少接触各类可用库/模板的话,这就意味着程序员最终会无心间将一开始就建立的代码付之东流。这不只增长了开发时间,也提升了整体成本。另一点就是,发布了的代码已经通过了质量检测因此只有将它用做模板才能发挥它更大的 价值。网站

 

3. 不必定什么都要被理解

若是你是刚调到这个团队来的编程人员,对于手头的工做并非很熟悉,那该怎么办?确定是先看一些前任留下来的工做计划,要是他写的详细倒也没什么,若是写的不详细,估计会让你更加的挠头。编码

所以,推己及人,在须要交代的工做上,最好是把任务写的尽量的详细。这么作也是很是现实的缘由:可以把编程问题解决掉,最好是保证使用解释性的语言和英语发音来表示变量。一些基本的指针可让你的程序更容易被理解,包括:

  • a. 把全部参数、引用、方法和变量名称尽量接近英语表达。保持文件名简短但有助于理解的功能。
  • b. 使用++包装文字是一个好办法,能让代码和注释更加清晰。
  • c. 将编写的程序保持在一个连续的流程上,尤为是在使用OOP基础上的语言:C#、C 和 C++。
  • d. 对于不一样的代码块使用不一样的描述名称。

 

4. 不使用通过验证的工具和技术

程序员的好坏从他使用的编程工具调试工具上就能看出。在异常状况的跟踪上,下面就是程序员常常会出现的常见错误。

  • 对一些可能会对其它代码有影响的常见案例进行捕捉,处理这些比较常见的异常状况(而不是特殊的异常)意味着无心中除除掉了会抑制整个程序的残留部分,所以并不会影响他人的代码。
  • 也许程序员可能带有恶意的意图来捕捉全部的异常状况,但即便是捕捉到了也不实施采起措施,这就是常说的“虚假安全阀”,这种异常处理手段是对整个软件的稳定和安全的一种妥协方式

 

5. 较差的控制版本

在任何涉及多个团队的项目里,当谈到版本控制的时候不去介绍使用最佳实践都是一个十足的罪过。版本控制的目的是确保由一我的执行的编辑或修订不去影响另外一我的的工做。

版本控制不只有助于将由两个或两个以上的程序员的编辑工做合并到一块儿,还有助于跟踪程序的更改历史。因此说,任何开发团队都应该作一些好的改进措施以确保强大的版本控制,这其中就包括:

  • 为每一个解决方案建立一个“逻辑单元”
  • 给解决方案制定描述性的名称
  • 确保你所使用的都是最早进的文件
  • 频繁的向团队分享你所作的各类改变

 

6. 拥有最新信息的我的表明不了团队

这是相对有趣的一点,全部的商业产品都想要以自身的敏捷技术产品文化给客户留下深入的印象,可是现实中不多有厂商会花时间去磨练他们员工在介绍产品特色上的技能。许多公司只是简单地提供了一些基本的培训,而且抱但愿与员工在真实的平常项目里学到更多的 技能。因此部门经理和项目的直接领导能够经过如下两个办法来提升员工的业绩:

  • 一旦有新员工加入,就马上强制安排他参加专业培训,让他知道他的角色是用来干什么的,尽早产生创造力。例如一个测试人与加入以后,就应该向他介绍编程的理念,以后将培训重点放到测试实践上,而不是继续阐述编程的重要性。
  • 现阶段的技术的进化程度比以往任什么时候候都要快,因此要记住,按期培训是必不可少的,这是在给团队创造价值。例如一个Web 设计师须要知道响应式设计,提供给设计师大量的用户平常使用的移动设备的不断扩张的样品,但愿他们能得到灵感。

 

7. 不恰当的测试

测试做为整个系统开发生命周期(Systems Development Life Cycle,简称SDLC)的重要一个要素,一般不须要开发团队给出太惊人的结果。可是若是在测试环节没有付出恰当的、相应的努力的话,这是说不过去的。 下面的一些方法或许对你的测试团队有用,至少在大家交付产品的时候可以给用户一个好的交代

  • 单元测试
  • 实物模型
  • 综合测试

 

8. 注意安全漏洞

有的时候在软件开发过程当中,就会碰见以下这样的安全漏洞

A、不一样组件之间意想不到的交互做用:a、输入不正确的验证信息;b、SQL资料隐码攻击;c、跨网站指令码;d、命令植入攻击;e、跨站请求伪造(CSRF);

B、难以实施的资源管理,包括:a、不尊重可用内存缓冲区;b、对外控制;c、使用有潜在危险的功能

 

9. 和客户交流

最初的合同签定后,开发公司一般会忘记天天与客户进行产品上的信息交互,以致于在交货的时候还须要进行升级。两大关键的交流点可让你和客户保持更好的、更长的关系:

  • 在客户开问以前,开发方应该和客户进行交流沟通。
  • 和客户保持周期性的交流

 

10. 避免标准实践面临的迫在眉睫的最后期限

一般状况下项目都会遇到进度延误的现象。然而,这不是说你有理由去偷工减料或者是在开发或测试阶段耍花招,未经测试的模块绝对是一个隐患,会让你的开发团队名誉受损的。一个更好的方法来管理延迟是提早告知客户而且积极执行延迟计划。只要延期的理由是有效的,客户应该会理解,也会给你额外的时间来解决这个问 题。

显然,在项目的最后期限内,急急忙忙完成编程的质量确定不是特比保险,因此在交付以后开发团队总体上会花更多的时间和努力来进行跟踪维护,这样的成本也是很巨大的,最好的办法就在一开始就制定完美的执行计划。项目再造所耗费的资源或许是项目自己的成本的好几倍,任何一个公司宁愿花更多的时间在初始开发上,这样最终的产品必定会符合SDLC标准,并在缺陷和不良问题上有足够的话语权。对于顾客来讲,时效性不 能以牺牲质量为代价,永远都不能。

 

文章最初发表在CSDN

相关文章
相关标签/搜索