jeffdean(优秀的程序员和普通的程序员差别在哪里)_程序员_代码_测试

历史故事本文相关内容:jeffdean 程序员 代码 测试

本文目录

  • 优秀的程序员和普通的程序员差别在哪里
  • 程序员为什么要一直改bug,不能一次性写好吗

优秀的程序员和普通的程序员差别在哪里

这几年项目管理的事情做了不少,管理过不少程序员,有一些程序员确实会比其他人突出一些,他们在升职加薪方面确实会快很多,如果你也想成为优秀的程序员,个人提几点小建议:

程序员的本职工作,还是把代码写好,所以先说说代码的事儿,主要讲两个方面:

  • 关注实现,也要关注效率和性能:我见过的程序员,大部分都可以把功能实现,只有部分程序员会关注性能问题,并且肯为提高代码执行效率投入大量的时间;因为很多项目组在开发过程中,测试环境和生产环境的数据量差别很大,测试中没有问题的代码,一上线就会出问题。

  • 关注代码的可复用性和扩展性:代码写的好不好,可复用性和扩展性很重要,这个关系到项目后期的迭代,有些项目换了几波开发人员之后,就留有很多谁也不敢动的“祖传代码”了。

以上两点,可以说是对项目的责任心:有些额外的付出,可能并不会在短期内得到回报,比如两个人实现相同的需求,外表上看实现的功能都是一样的,但是你写的代码,后期扩展起来很简单,不过也有可能几个月、几年后才需要扩展,才能见识到“你代码的好”;在这方面,我希望大家能够“笨一些”,多花些时间在这些事情上;

  • 首先,大家一定要认清:“我做好工作,不是为了公司,而是为了自己”;千万不要抱着“给多少工资,出多少力”的想法;

  • 代码的复用性、扩展性,不是看几本书就能提高的,需要长期的实战积累;

  • 你做的这些工作,领导会看在眼里的;如果真遇到了忽视代码、轻视开发的领导,把东西学会了,跳槽就好了。

除了一门心思敲代码,还有很多重要的事情要注意:

  • 沟通能力、表达能力、演讲能力,总之就是要“会说话”;

  • PPT能力,很多程序员对年中、年终述职嗤之以鼻,建议大家千万要重视起来,有时候大领导不一定知道你的工作内容和成果,这真的是一个很好的机会展示自己。

  • 多和直属领导交流,千万不要等着领导找你;可以定期主动汇报一下最近的工作,不用很正式,时不时地找领导聊几句:最近做了什么,有什么成果,遇到什么问题...

  • 如果遇到问题,要拿着解决方案去找领导,方案A or 方案B,让领导做选择题;如果没有解决方案,要说自己的思路;总之,要证明自己思考过;

  • 进一个从0到1的项目,更容易出成绩,如果有机会进新项目的话,一定要把握住机会。

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

程序员为什么要一直改bug,不能一次性写好吗

代码出现BUG很正常,我们可以最大程度的避免BUG的出现,就像偏差一定存在、可以无限逼近正确,但是错误却是可以通过好的工作方法、编码规范、工作习惯来避免、杜绝。程序员开始编码工作,不管整个项目开发还是部分代码扩展,都一定是源于实际需求:

第一步明确需求的来龙去脉、然后确认清楚理解需求,确认是否理解需求的最佳实践就是写好需求说明、概要设计,然后跟干系人/负责人确认,而不是口头上说理解了,甚至都不复述确认。

第二步对概要设计中技术点进行验证、细化设计,在细化设计过程中对工程名、类名、代码调用框架、方法名、成员变量和关键变量名进行设计,再跟干系人、负责人进行确认。

第三步,良好的编码习惯、编码规范是非常重要的,也是直接体现程序员的基本素养,清晰的思路、良好的编程习惯是代码高质量的重要保障。

最后一步是代码测试,程序员交付的代码一定要自己保障单元测试是能够闭环通过,然后开发人员交叉测试。接着交付给QA测试部门进行测试,因为“灯下黑”有些问题程序员自己很难发现;对于较大幅度代码调整,还要进行回归测试、对所有功能、在各种环境下进行测试,回归测试工作量通常较大。

好的软件产品是设计出来的、开发出来的、更是项目实战中用出来的,是不断完善、测试、交付使用迭代出来的,不可能一蹴而就。工作方法、代码规范、编码习惯、测试把关保障代码质量至关重要的,写需求、设计、测试文档不是教条主义、更不是浪费时间,跟聪明愚钝智商都没有什么关系,但是很多的程序员不够重视、内心到行动都在抵制、抗拒,然后让现实一次又一次的打脸,慢慢成长开始重视起来,深刻理解“只做一次、一次做对”是最省时间的,然后再苦口婆心或者雷厉风行用自己的血泪史或者规章制度来教导、约束新进的程序员。

特别声明

本文仅代表作者观点,不代表本站立场,本站仅提供信息存储服务。

分享:

扫一扫在手机阅读、分享本文