`

高效程序员的45个习惯2

阅读更多
1.选用有意义的注释,用注释描述代码意图和约束,注释不能取代好的代码
2.在性能.商业价值.优雅.生产力几个因素上,没有必要追求所有的最优,开发者需要权衡,合理投入
3.使用渐进的方式来编程,寻找优化点,而不是追求一气呵成,除非有不可辩驳的理由,否则不要使用艰深的技术.模式,使用最简单的解决方案
4.让类的功能尽量集中,让模块尽量小..
5.Liskov替换原则告诉我们:任何继承后得到的派生类对象,必须可以替换任何被使用的基类对象,而且使用者不必知道任何差异.遵循此原则,相对于基类的对应方法,派生类服务应该不要求更多,不承诺更少,要可以进行自由的替换:如果新类可以替换已有的类,并且它们之间的关系可以通过is-a来描述,就要使用继承;如果新类只是使用已有的类,并且两者之间的关系可以描述为has-a或是users-a,就使用委托.
6.不妨维护一个保存曾遇到的问题以及对应解决方案的日志.这样就可以快速搜索以前用过的方法.
格式:
问题发生日期
问题描述
解决方案详细描述
引用文章和链接,以提供更多的细节
任何代码片断.设置或者对话框的截屏
如果解决了新的问题,就及时记录在这个地方.
关于记录
记录问题的时间不要超过解决的时间,保持轻量级
找到以前的解决方法非常关键,使用足够的关键字,可以帮助你找到需要的条目

7.警告,签入带有警告的代码,就跟签入有错误或者没有通过测试的代码一样,都是极差的做法,签入构建工具中的代码不应该产生任何警告信息.
8.识别复杂问题的第一步,是将它们分离出来,对问题各个击破,可以将关注点放在问题相关的议题上.通过各种改变,来接近问题的核心.

9.处理或是向上传播所有的异常,如果代码中会记录运行时调试日志,当捕获或是抛出异常时,都要记录日志信息,这样做对以后的跟踪工作很有帮助.
10.提供给用户的信息可以包含一个主键,以便于在日志文件或是审核记录中定位相关内容.


11.立会时将团队召集在一起,并让每个人了解当下进展状况的好办法.不允许就坐,否则与会者会跟到舒适而让会议延长.
12.保证会议不会发散,每个人只要回答下述三个问题,确保发言时间不要太久,建议总共会议不超过30分钟
     昨天有什么收获
     今天计划做什么工作
     面临些什么障碍
13.立会的好处
让大家尽快投入到一天的工作
如果某人有问题,可以趁机公开并寻求帮助
帮助决策者了解什么地方需要帮助,重新分配资源
让成员知道项目其他部分的进展
帮助团队识别重复劳动,或者知道某个问题已经有了现成的解决方案.
通过促进代码和思路的共享,来提高开发速度.
鼓励向前

14.好的设计者必须能够卷起袖子,加入开发队伍,毫不犹豫的参加实际编程.优秀的设计从积极的程序员那里开始演化.积极的编程可以带来深入的理解.不要使用不愿意编程的架构师--不知道系统的真实情况,是无法展开设计的.
15.不要声明个人对代码的所有权,任何一个团队成员,只要理解某段代码的来龙去脉,就应该可以对其处理.满足用户期望才是最重要的事情.这不是说可以随意修改别人的代码.需要强调知识分享


16.成为指导者,意味着分享,自己的知识.经验.体会,意味着要对别人的所学和工作感兴趣,愿意为团队增加价值,分享自己的知识很有趣,付出的同时便有收获.可以激励别人,提升团队实力.
17.给别人提供解决问题的机会,指给他们正确的方向,而不是直接提供解决方案,让每个人都能成长起来.(用问题来回答问题,可以引导提问的人走上正确的道路.如果真的有人陷入胶着状态,不要折磨他们了,告诉他们答案,再解释为什么这样)
18.保证在提交代码之前,单元测试通过了,使用持续集成保证代码质量是不错的方法.不要提交尚未完成的代码,故意签入未通过或者没有通过单元测试的代码,这是很不好的行为.
19.正式的进行代码复查工作,最基本的检查列表有:
代码能否被读懂和理解
是否有任何明显的错误
代码是否会对其它部分产生不良影响
是否存在重复的代码
是否存在可以改进和重构的部分
及时跟踪代码检查中发现的问题的修正情况.
20可以考虑Similarity Analyzer或Jester这样的代码分析工具.
21.及时向管理层和关注项目的人通报进行状况,不要等别人来问.尽快想法子快速完成这种反馈,不要花很多时间.


summary:从现在开始进行
www.agiledeveloper.com/download.aspx


http://toolshed.com/blog

http://www.urbancode.com/projects/anthill/default.jsp

www.martinfowler.com/articles/continuousIntegration.html

http://cruisecontrol.soureforge.net

http://dev.buildpatterns.com/trac/wiki/DamageControl

http://fit.c2.com

http://c2.com/cgi-bin/wiki?Information

www.stsc.hill.af.mil/crosstalk/2004/10/04010Jones.html

转自冲哥的总结
分享到:
评论

相关推荐

    【高清完整pdf】高效程序员的45个习惯 敏捷开发修炼之道

    本书名为《高效程序员的45个习惯 敏捷开发修炼之道》,由Venkat Subramaniam和Andy Hunt两位作者共同撰写。书中所提到的45个习惯,不仅涉及软件开发过程、编程和调试工作,还包括了开发者的个人态度、项目和团队管理...

    高效程序员45个习惯

    高效程序员45个习惯,为你的个人拓展提供发展方向

    高效程序员的45个习惯英文完整版

    高效程序员的45个习惯 英文完整版 V.Subramaniam, A.Hunt - Practices of an Agile Developer - Working in the Real World. 2006.pdf

    高效程序员的10个习惯

    ### 高效程序员的10个习惯 #### 一、对事不对人 在软件开发过程中,团队成员之间经常会因为设计方案、技术选择等方面的意见不合而产生冲突。这种情况下,很容易将注意力从问题本身转移到个人身上,导致原本的技术...

    优秀程序员45个习惯

    这45个习惯覆盖了态度、学习、开发流程、用户、编程以及团队协作等多个方面,旨在帮助程序员成长为更高效、更优秀的专业人士。 1. **态度篇**: - **做实事**:解决问题,勇于承担责任,避免抱怨和指责。 - **...

    高效程序猿的45个习惯

    “项目启动了一段时间之后,你应该进入一种舒适的状态,团队和客户建立了一种健康的富有创造性的关系。 突发事件应极少发生。客户应该能感觉到,他们可以在... “高效程序员的45个习惯:敏捷开发修炼之道”。 iBooks.

    高效程序员应该养成的七个习惯

    高效程序员应该养成的七个习惯

    高效程序员的10个习惯,希望对你有所帮助

    标题和描述中提到的“高效程序员的10个习惯”,实际上是在强调软件开发领域中,尤其是敏捷开发过程中,程序员应当遵循的一系列最佳实践和心态。这些习惯不仅有助于提升个人的工作效率,还能增强团队协作,最终确保...

    怎么样培养高效程序员

    Phil Chu 提出的高效程序员的七个习惯是每位IT从业者应当关注和实践的。以下是对这些习惯的详细解析: 1. **理解你的需求**:正确理解和把握项目需求是避免浪费时间和资源的关键。快速建模和创建原型有助于快速验证...

    一个优秀的程序员的十个习惯

    以下是对标题和描述中提到的十个程序员习惯的详细解释: 1. **学无止境**:持续学习是优秀程序员的基石。随着技术的快速发展,必须不断关注新出现的语言、框架和编程实践,通过阅读专业文章、参加在线讨论和社区...

    程序员的45个良好习惯

    标题中的“程序员的45个良好习惯”是一个旨在提升编程技能和团队协作效率的指南,描述强调了通过培养良好的习惯来提高自身编程水平,成为优秀的程序员。这些习惯涵盖了态度、学习、开发流程、用户、编程、调试和团队...

    高效程序员应该养成的习惯

    要成为一个有效率的程序员要知道些什么?正确的支配自己的时间。。。

    一个程序员的开发习惯

    ### 一个程序员的开发习惯 #### 一、项目目录结构的重要性及建议 1. **创建清晰的项目目录:** - 开发过程中,一个清晰合理的项目目录结构对于提高开发效率和后期维护至关重要。 - 建议为每个项目设置一个主目录...

    高效程序猿的7个共同特征

    高效程序员是IT行业中备受推崇的群体,他们不仅具备深厚的技术能力,还拥有一系列良好的个人品质和工作习惯。Justin James在文章中提出了高效程序员所应具备的七个共同特征,这些特征涵盖了学习态度、工作方法、解决...

    程序员专用 编程输入法

    2. **智能提示**:当用户输入部分代码时,输入法会根据上下文提供相关的代码补全建议,类似于IDE中的自动完成功能,帮助程序员更快地编写出正确的代码。 3. **特殊字符支持**:编程中常常需要输入一些特殊字符,如...

Global site tag (gtag.js) - Google Analytics