程序员应该避免六个常见的开发错误

程序|程序员|错误

 
Tony Patton

我最新一直在和新手和入手级开发人员打交道,我注意到一些开发人员(甚至是老手)在粗心时常犯的错误。这些错误各不相同,从工具的使用到网络服务的适当应用都有。以下是六个主要的开发错误。

1.认为必须要用Visual Studio.NET来开发.NET应用

那些对微软.NET开发不了解的人误以为:利用.NET框架开发应用软件时必须要用到Visual Studio.NET。这并不正确。你只需安装可在微软网站上免费下载的.NET框架即可。

安装了.NET框架,你就可以应用你最喜爱的文本编辑器和.NET工具命令行来进行开发。而且,你还可以应用第三方开发工具,如SharpDevelop。

欲彻底了解Visual Studio.NET有关的讨论,请参阅以前的栏目。开发工具的选择因人而异,但许多开发团队进行标准化来简化工作。

2.独占信息

开发人员的显著特点之一即他们趋向于密藏信息。晓人所不晓的能力常常引起错误的优越感。相反,分享信息则有助于团队扩充知识。另外,随着其他团队成员的加入,分享的信息还可得到改进。最后,当你向另一个或一组开发人员解释一个观念或理念时,你的知识也得到扩充。

团队合作精神是Agile Software Development之类运动的驱动力。另外,许多团队利用同行代码评估(peer code reviews),即开发人员对其他开发人员的代码进行审查及评论,这种方法促进了双方的学习与理解。

3.忽略代码注释

给自己的代码加注释是一个简单而直接的方法,但为什么大家总是忽略这一点呢?一些开发人员错误的认为减少文件证明(任何形式的)能够改善工作安全。这与前面讨论过的独占信息一样,是一种谬误。

少量合理安排的注释能大大改善代码的可读性,并方便代码的管理。现在有一种过于使用注释的趋势。基本上来说,这些注释应对代码、变量、方法等作一简要描述。许多团队在对代码作出修改时喜欢插入注释。当(如果)出现问题,我们容易找出以前做过哪些修改。

4.没有看到版本控制系统的价值所在

大多数开发人员都十分熟悉这种情形:你推出一个重要网络应用的新版本,第二天一大早你的手机就响个不停,里面满是网站问题的叫声。

只要你愿意承认你可能犯过一两个错误,在这种情形下版本控制系统就是你最好的朋友。通过使用版本控制系统如CVS, IBM Rational ClearCase, 和Microsoft Visual SourceSafe,你就可以轻易地还原到以前版本的应用软件并进行生产。这让你有时间在生产地点已经准备好的情况下在开发环境中找出问题所在。这种方法比通过搜寻生产代码来找出问题要优越得多。

另外,源控制系统允许不同的团队成员同时开发相同的代码。当开发人员检查对系统所作的修改时,这些改变就结合起来。

一些开发人员不喜欢版本控制系统的原因之一是因为它给开发过程增加了一个步骤,这意味着向源控制系统提交代码并通过它来恢复代码的过程要减慢。这个额外等待的时间打击了一些开发人员的耐心。

5.认为所有项目都需要网络服务

由于对网络服务的过分宣传,许多开发人员认为在开发项目时必须以某种形式用到网络服务。尽管在开发过程中使用网络服务可能是必要或是恰当的,但并不是完全可能。你需要分析不同的情形,以决定是执行网络服务是否恰当。例如,另的技术如remoting可能更为恰当。

6.忽视了确认数据的重要性

在应用代码中,数据以不同的形式进行处理。因为这一原因,开发人员应该在开发过程中确认数据的完整性与有效性。这就是说,数据要通过可返回零字符的终端数据库读取。在执行前,就对数据进行检查,因为大多数的操作中都不能使用零值。

了解是成功的一半

不管你是开发新兵还是老手,你都要意识到开发人员有犯这六个错误的趋势。即使你发现自己没有这些坏习惯,你也要意识到你们团队中的其他开发人员可能会犯这些错误。对这些潜在的错误保持警惕,这样做可以防止这些错误阻碍你们团队的计划。

时间: 2024-08-08 04:02:38

程序员应该避免六个常见的开发错误的相关文章

野生程序员是指仅凭对计算机开发的兴趣进入这个行业,从前端到后台一手包揽,但各方面能力都不精通的人(转)

本文摘自:<Web 全栈工程师的自我修养> 野生程序员是指仅凭对计算机开发的兴趣进入这个行业,从前端到后台一手包揽,但各方面能力都不精通的人.野生程序员有很强大的单兵作战能力,但是在编入"正规军"之后,可能会不适应新的做事方法. 遭遇"野生程序员" 腾讯公司内部的团队很多,在团队管理上有项目和专业两个维度.也就是说,有些团队是项目维度的,整个团队共同维护一个产品,成员来自不同的职业岗位:有些团队是专业维度的,比如一个组都是前端工程师,维护不同的产品. 因

《高效程序员的45个习惯:敏捷开发修炼之道》

--敏捷开发入门经典-- [内容] <高效程序员的45个习惯:敏捷开发修炼之道(修订版)>总结并生动地阐述了成为高效的开发人员所需具备的45个习惯.思想观念和方法,涵盖了软件开发进程.编程和调试工作.开发者态度.项目和团队管理以及持续学习等几方面. <高效程序员的45个习惯:敏捷开发修炼之道(修订版)>适合所有程序员阅读. [作者] Venkat Subramaniam博士: Agile Developer公司创始人,敏捷开发权威人士.他培训并指导了美国.加拿大.印度和欧洲多国的上

程序员:90%做维护 10%做开发 这正常吗?

这篇译文来自Stack Exchange上的一个提问,在许多开发者中都产生了共鸣.很多时候,作为程序员的我们,在日常工作中并没有很多时间用在编写代码上,而是不断的在维护某个年代久远的系统,不断修正Bug,维护的项目会越来越多.如果我们希望能改进已有的代码,对系统做下重构,有时候并不能得到公司的支持. 提问者声称自己的报酬非常低,但却在做整个开发团队级别的工作,这到底正常吗?难道所有的开发者都是这样的?以下两个回复获得了大多数开发者的认同,想学习下如何同公司高层沟通的技巧吗? TiredProgr

程序员常去的14个顶级开发社区

 开发社区-程序员开发社区"> 作为设计师,学技术的最大好处是能够更加理解程序员,容易沟通,有利项目协作.作为男设计师,如果你喜欢上了程序媛,这个技术优势会为你个人形象大大地加分!谁不爱技术帝的设计师呢?从新手教程到大牛支招,这组网站都有,绝对赶超程序员的首选! 下面这张图列出了14个程序员经常逛的顶级开发社区,作为设计师,你应该要了解其中一个或者最好是多个,并且学会使用它们,利用里面的资源提高自己的编程能力. 我们期望在开发者社区中获得什么? 我们希望能得到切实的帮助,而不是获取一些唠叨

程序员编程生涯中常会犯的7个错误

时间久了,我发现很多程序员总是犯着相同的错误,前仆后继,却毫不自知. 下面就是程序员在他们的软件开发生涯中最常犯的7个错误. ▼没有明确的目标 心中没有终点目标,那就只会随波逐流. 如果你想在软件开发的职业生涯上获得成功,那么你需要有一个明确的目标. 仅仅只是对遥远的未来有一个模糊的想法是不够的. 相反,你应该有坚实的目标--在某个时间段内的首要目的--明确定义的目标. 我认识许多程序员和所谓的专业人士庸庸碌碌地在同一个岗位上干了几十年,是的,你没听错,就是几十年! 这是一场悲剧,但如果没有目标

国外程序员常去的14个顶级开发社区

我们来看一下程序员经常去的 14 个顶级开发者社区,如果你还不知道它们,那么赶紧去看看,也许会有意想不到的收获. Stack Overflow 9 月份,Stack Overflow 也将迎来其 6 岁的生日,毫无疑问,Stack Overflow 是全球最受程序员欢迎的开发社区,而且也是内容最丰富的社区之一. 官方网站:http://stackoverflow.com/ Reddit reddit 也是一个非常富有个性的社区,你可以在 reddit 上提交一些感兴趣的话题,也可以和其他程序员讨

传奇程序员:8岁写游戏独力开发赚1亿美元

到2013年初,Minecraft的注册用户已经不计其数,付费用户数量也已经超过9000多万.2011年10月,发布了移动版Minecraft,在App Store的付费应用中,仍旧排在前三. 这个如今被越来越多人奉为神作,并让无数人深深沉迷其中的游戏最初却几乎由Markus Persson一个人独力开发,与真名相比,他在网络上的昵称Notch无疑更加有名,许多人将他视作独立游戏开发大神和独立软件圈子的标志性人物. 靠着Minecraft,Notch在2012年的收入超过了1.1亿美元,那么他究

.NET程序员提高效率的70多个开发工具

工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为各ASP.NET 开发者介绍一些高效实用的工具,涉及SQL 管理,VS插件,内存管理,诊断工具等,涉及开发过程的各个环节,让开发效率翻倍. Visual Studio Visual Studio Productivity Power tool: VS 专业版的效率工具. Web Essentials: 提高开发效率,能够有效的帮助开发人员编写CSS, JavaScript, HTML 等代码. MSVSMON: 远程D

PHP程序员最常犯的11个MySQL错误

  对于大多数web应用来说,数据库都是一个十分基础性的部分.如果你在使用PHP,那么你很可能也在使用MySQL-LAMP系列中举足轻重的一份子. 对于很多新手们来说,使用PHP可以在短短几个小时之内轻松地写出具有特定功能的代码.但是,构建一个稳定可靠的数据库却需要花上一些时日和相关技能.下面列举了我曾经犯过的最严重的11个MySQL相关的错误(有些同样也反映在其他语言/数据库的使用上)... 1.使用MyISAM而不是InnoDB MySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM