程序员的职业素养【2】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/itsxwz/article/details/84526882

1
编程非易事。因此,互相帮助是每个程序员的职责所在。
给他人提供帮助并非说明你比人家聪明很多,而是因为你带来了一个新的视角,对于解决问题起到了显著的催化作用。
要以乐于助人为荣一样,也要以乐于接受别人的帮助为荣。

2
辅导缺乏经验的程序员是那些经验丰富的程序员的职责。向资深导师寻求辅导也是年轻程序员的专业职责。

3
测试驱动开发(TDD)。先写测试的编程。
先写测试代码,再写业务代码。
测试代码有问题,停止业务代码编写直到测试代码无误。
仅编写当前测试代码能够正确运行的业务代码即可。

4
要学习热键和导航操作,以及测试驱动开发,持续集成之类的方法,找整套的卡塔来练习都是相当有效的。更重要的是,它特别有利于在潜意识中构筑通用的问题和解决方案间的联系,以后在实际编程中遇到这类问题,你马上就知道要如何解决。

5
专业开发人员既要做好开发,也要做好沟通。“输入糟糕,输出也会糟糕”对程序员同样适用,所有职业程序员会重视与团队及业务部门的沟通。

6
做业务的人和写程序的人都容易陷入一个陷阱,即过早进行精细化。

7
验收测试的目的是沟通、澄清、精确化。
业务分析员测试“正确路径”,以证明功能的业务价值;QA则测试“错误路劲”、边界条件、异常、例外情况,因为QA的职责是考虑哪些部分可能出问题。

8
请记住,身为专业开发人员,你的职责是协助团队开发出最棒的软件。也就是说,每个人都需要关心错误和疏忽,并协力改正。

9
请务必确保在持续集成系统中,单元测试和验收测试每天都能运行好几次。整套持续集成系统应该由源代码管理系统来触发。只要有人提交了代码,持续集成系统就会开始构建,并运行所有的测试,测试结果会用电子邮件发送给团队所有人。

10
为了更好的做到“QA应该找不到任何错误”,开发团队要和QA紧密协作,创建由单元测试、组件测试、集成测试、系统测试和探索式测试构成的测试体系。应该尽可能频繁的运行这些测试,提供尽可能多的反馈,确保系统始终整洁。

11
预估是一种猜测。预估不是个定数,预估的结果是一种概率分布。
乐观预估;标称预估;悲观预估。

12
专业开发人员懂得如何为业务人员提供可信的预估结果,以便做出计划。如果做不到,或者不确定能做到,专业开发人员不会给出承诺。

13
如果你遵守的纪律原则是工作的最佳方式,那么即使是在深度危机中,也要坚决秉持这些纪律原则。

14
应对压力的诀窍在于,能回避压力时尽可能的回避,当无法回避时则勇敢直面压力。可以通过慎重承诺、遵循自己的纪律原则、保持整洁等来回避压力。直面压力时,则要保持冷静,与别人多多沟通,坚守自己的原则纪律,并寻求他人的帮助。

15
专业程序员的首要职责是满足雇主的需求。这意味着要和你的经理们、业务分析师们、测试工程师们和其他团队成员很好的协作,深刻理解业务目标。这并不是说你必须要成为业务方面的老学究,而是说你需要理解手上正在编写的代码的业务价值是什么,了解雇你的企业将如何从你的工作中获得回报。

16
我期望拥有代码的是整个团队,而非个人。专业开发人员是不会阻止别人修改代码的。他们不会在代码上构筑所有权的藩篱,而是尽可能多的互相合作。他们通过合作来达到学习的目的。

17
专业的开发组织会把项目分配给已形成凝聚力的团队,而不会围绕着项目来组件团队。一个有凝聚力的团队能够同时承接多个项目,根据成员各自的意愿、技能和能力来分配工作,会顺利完成项目。

18
计算机科班毕业生的质量一直令我颇感失望。究其原因,并不是这些毕业生不够聪明或缺乏天份,而是由于大学并没有教授真正的编程之道。(略略略)

19
工具:Unity + Visual Studio + TextSublime + UML

猜你喜欢

转载自blog.csdn.net/itsxwz/article/details/84526882