background image

通俗上说,你是否使用了好的实践方案。

  也因为我可以想象,要是我只说了前面那一段,我会收到多少恶评,让我说得更清楚

……我想说的是,我们永远不应该忘记客户的立场,有时候,开发人员为 了最佳实践而

在项目工程中过度坚持采用(某些)技术,但要记住,若这些技术无法给客户带来价值,
那就放弃吧!(编注:关于客户,作者

Alberto 在其前 几篇文章

我的

 

     10

       

个开发原则

 

 

§

》和

程序员常犯的

 

     5      

个非技术性错误

 

 

§

》都有提到,可见他对这一点的体会。)

  

5. 纸上谈兵是行不通的

  我曾认为,我可以在前期就把我的整个设计置于纸上,然后只要将缺漏处填上就好,
但这样根本行不通。

  软件开发是复杂的,若不亲手去碰碰看,很难看到所有的实际层面以及它们之间的关
系。因此,在前期保持规划与设计是很有用的,但不要过度坚持,也不要把设计图表当作合
约固守。

  

6. 少即是多

  或者,你可能知道更好的说法是:

“Keep it simple, stupid!”(保持简单,KISS 设计原

则)。所以,如果没有必要的就舍弃吧!因为要记住:

“事情若有可能出错,就一定会出

错。

” (编注:除了 KISS 原则之外,此文还介绍了其他一些

软件设计原则

§

。)

  

7. 编写代码只是我们所做工作的 20%而已

  请准备好,花

80%的时间用于思考、调试、测试、开会、谈话……而所有的其他活动都是

非常重要的,所以若要成为一个优秀的软件开发人员,你必须培养广泛而全面的技巧

Skill),而不仅仅是技术(Technical)。

  

8. 客户永远不知道他/她想要的是什么!

  客户若有需求,或是想法,但是他们不知道详细情况

……软件开发要做的工作就是,

发现细节并去除所有的不确定性,将这些需求转换成客户想要一个应用程序。

  

9. 已经有人做过了

  所以不要再重新发明轮子,用谷歌找找看,或者更好的方法是,请教你的同事,很多
时候他们可能都已经做了相同、或非常类似的事情。

程序员常犯的

 

     5      

个非技术性错误

 

 §

一个好的软件开发人员需要培养两种技能:技术技能和非技术技能。不幸的是一些开发者只