如何成为一个优秀的开发人员--程序员的修养.ppt

如何成为一个优秀的开发人员--程序员的修养.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何成为一个优秀的开发人员--程序员的修养

* 如何成为一个优秀的开发人员 --程序员的修养 本次讨论会目标 本次讨论只是我这近10年编程经验的总结,希望分享给大家。 本次讨论希望给出我的一些失败经历让大家少走弯路。 我的一些经验不一定是正确的,如果觉得有自己的想法请随时提出来,让我们一起来讨论,所以这次我也称其为交流会。 希望我能抛砖引玉,大家一起讨论,在这里还有其他一些有很多工作经验的老大们,希望这次也一起分享他们的经验。 有些经验不但能够应用在写程序,也能够应用于其他的领域。 不能达到的目标 能够立即解决手头上的Bug,项目就能顺利开展。 所有的经验照搬就能成为高手, 每个人的个性不同,背景不同理解也不同,请参考我的经验,消化吸收为自己的知识和经验。 勿在浮沙筑高台—扎实基本功 基础知识或者说基本功是很重要的,电脑编程最基础的知识之一是数据结构及算法。这些知识在大学里都学过,但是没有几个可以非常清晰的记起这些书里面的具体内容,尤其是实际中的应用,更是很少能够关联起来。但是数据结构及算法却是思考程序的基本,在考虑的程序的时候数据结构总是起着基础性的作用。 对于C/C++ 语言本身的理解以及编译器,操作系统底层的理解。很多时候我们只是使用C/C++ 语言,调用它的一些函数但是很少去思考为什么他是这样运作的以及他究竟是如何运作的。 (Virtual 函数的例子) 扎实基本功 Tips: 一些写代码的好习惯: 内存哪里分配,哪里释放。 指针用完就关闭 (设NULL)。 写代码时符合代码规范 没有规矩,不成方圆 勤于写注解 推荐的好书: C ++ 应用程序性能优化 关于程序的构建 Bug越早发现越好,程序的质量要求起初越严格,越好。 (扁鹊看病的寓言) 面向接口编程,而不是面向实现编程。 开发环境一定要稳定,命名规则清晰,系统干干净净,环境不稳定很容易造成一些极难调试的Bug。 保持设计,代码和思维的一致性。 不要过度设计,简单就是美Simple is Beautiful (Simple is Not Easy)。 随手编译,小步开发,小步执行(一个人同时只能注意7个点)。 保证小模块,小片代码的稳定可靠,然后通过每个稳定的小模块组成大模块。 大模块之间需要持续集成,每天进行Build (参考Martin Fowler: Continuous Integration)。 深入一种语言去编程 代码大全 P.67 正如David Gries所言,编程工具不应该决定你的编程思路,Gries对“在一种语言上编程(Programming in a language)”和“深入一种语言去编程(Programming into a language)”做了区分。“在一种语言上编程”的程序员将他们的思想限制于“语言直接支持的那些构件”。如果语言工具是初级的,那么程序员的思想也是初级的。 “深入一种语言去编程”的程序员首先决定他要表达的思想是什么,然后决定如何使用特定的语言提供的工具来表达的这些思想。 防御式编程 假设外部的程序代码都是不可靠的,函数应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。更一般的说,其核心思想是要承认程序都会有问题,都需要被修改,聪明的程序员应该根据这一点来编程。 推荐好书:《代码大全》 一些经验值 每个函数不超过100行,每个函数只承担一项工作,函数名用定名词形式。一个类不超过1000行。类名和函数名清晰易懂。 计算人月的一般方法1000 Lines/Month。 80%的问题发生在20%的模块中。 80%的时间在Debug,20%时间在Coding,我们的课题是如何增加Coding的比例,减小Debug的时间。 团队意识 每一个人都是在一个团队中工作,你的问题就是团队的问题。你的荣耀是团队的荣耀,你的失败是团队的失败。 每个Leader应当建立起团队,这是最大的责任。 团队意识(在Arcsoft中的故事) 责任心: 要有责任心,男人要有责任心,记住我们写的代码是发送到千千万万用户手上的,全球的用户都在使用你的程序,如果有Bug出现会有巨大的损失。 程序员要对自己维护的程序有责任心。Team Leader不但要对程序负责,还要对你的属下负责,要让他们有东西可学,能够发展。 代码中的Bad Smell: Duplicated Code – 重复的代码 Long Method -- 过长的方法与函数 Large Class -- 过大的类 Long Parameter List -- 过长参数列 Divergent Change -- 发散式变化 Shotgun Surgery -- 霰弹式修改 Feature Envy -- 依恋情结 Data Clumps – 数据泥团

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档