新⼿程序员必学的代码编程技巧
程序员往往渴望加⼊的是⼀⽀“30%的时间在写代码,⽽70%的时间在喝着咖啡讨论着如何将产品做好”的团队。
软件⼯作应该成为⼀项技术和艺术融合的⾼智⼒活动,⽽项⽬经理应该是⼀个⾼度理解质量、范围和进度客观规律的明⽩⼈,“⾼效⼯作,快乐⽣活”才应该是程序员的座右铭。
可现实情况却是,团队在⼀边超负荷的做着需求,⼀边改着没完没了的Bug。
过点前⼣,项⽬经理熬着通红通红的眼睛盯着我们整晚整晚的加班,质量专员⼀遍⼀遍的催促质量数据还不够,软件⼯作已经⽆可挽回的沦落成了体⼒劳动,别说快乐⽣活,⽣活都没了。
好吧,以上可能都对,项⽬经理和质量专员是⼀个不懂客观规律并且毫⽆同情之⼼的⼤魔头,让我们程序员们毫⽆尊严卑贱的活着。
只是,有句话憋了很久了:“醒醒吧,所有的这些,都是因为你的代码写的太烂,你制造了太多的Bug!”。
你可能会抱怨这分明是需求变更太快,领导计划太紧导致的。
python新手代码错了应该怎么改 嗯,听着挺有道理,但是要知道需求变更本⾝就是软件的客观规律,⽽领导要求进度,呵呵,你也可以认为是客观规律。
这不是⼀篇证明谁导致程序员加班太多的论证⽂,也不想给⼤家灌鸡汤,让⼤家⼀夜之间都变成编程⾼⼿,但是⾄少说⼀些实实在在的经验和⽅法。总之让⼤家多看⼀点就多获得⼀点实际的价值。
⼀、不要⼀上来就开始写代码
你可能性⼦急,也可能早已按耐不住跃跃欲试昨天刚学会的⼀个编程⼩技巧,我想要告诉你的是,不急,收起你那磨⼑霍霍的表情,在你拿到需求准备写出你第⼀⾏代码之前还有更重要的事情要做。
我想怎么强调这件事情的重要性都不为过,在我以前写的⾃⼰⾮常满意的代码经历中,我都采⽤了这个⽅法,它能消灭原来可能会被测试提的90%的Bug单,甚⾄做到零缺陷,当然做到这点可能需要⼀个过程。
拿到需求之后你⾸先要问下⾃⼰对需求是不是已经充分理解了,得到肯定的回答之后,我们就可以开始了:
1) 先在你忙碌的⼯作中,出你能完全掌控的⼀个⼩时时间段,这⼀个⼩时完全属于你⾃⼰,保证这⼀个⼩时不会有任何打扰,或者任何能影响到你执⾏不下去这个⽅法的打扰。要记住这⼀个⼩时⾮
常重要,⽐你后⾯要执⾏的所有活动的时间都重要,它绝对值得。
2) 在第⼀张⽩纸的上⽅写下“该需求特性的正常流程和影响范围”,然后在⽩纸下⽅逐条开始写下该需求特性正常流程包含的内容,⼤概会使⽤到哪些库函数,会提供出哪些接⼝,是否会影响版本升级,是否影响资源⽂件,是否影响原有的接⼝等等。
3) 在第⼆张⽩纸上⽅写下“该需求特性所有的异常场景和本⼈以往经常会犯的⼀些错误点”,然后在⽩纸下⽅⼀条⼀条的开始往下写。
4) 不断重复第2)、3)步。
你可能会觉得这不就跟写的需求澄清材料差不多吗,我要告诉你的是这是两回事,它不是⼀项质量专员要求你做的质量过程活动,这是你⾃⼰和⾃⼰之间的⼀次深层次对话,这不需要告诉任何⼈,不需要向其他领域输出任何交付物,这是对⾃⼰要写出优秀代码的⼀次⾃我驱动。
⼀开始你可能会觉得很难,写⼏条就写不出来了,或者闪过“这玩意⼉是不是真的有⽤”的念头,不⽤着急,起⾝去窗户边呼吸⼀⼝新鲜空⽓或者去打杯⽔喝,总之不要中断,除⾮办公室着⽕了,不要去⼲让这件事继续不下去的事情。
当你慢慢往下写到第20或者第30条答案的时候,你可能突然会有⼀种“这么隐晦的⼀个异常点都被我
发现了,简直太⽜了!”的情感涌出,这个时候你会暗暗惊呼有点难以抑制⾃⼰的兴奋,这说明你快要接近成功完成了,后⾯每写出来的⼀条都会让⾃⼰感动。
记住,中间不要放弃,你坚持下去的决定会将这⼀个⼩时变成你整个需求实现当中最重要的⼀个⼩时。
⼆、先忘掉后⾯还有该死的质量活动
所有编码之外的质量活动,都是基于公司对于你写代码⽔平的不信任产⽣的。
也就是说公司花了⼤量的钱招来质量专员、⽹元测试、解决⽅案测试这些⼈都是因为你没把代码写好造成的浪费。
常见⼀些开发⼈员,刚来的时候对质量专员安排的质量活动颇有微词,“我以前公司做项⽬根本不需要做这些东西还不是⼀样能把项⽬做完”,“这些质量活动,简直就是对编码时间的侵占”。
说这些都没问题,但是你⼀边说着这些⼀边写完代码后Bug就乌泱乌泱上来,是不是有点不要脸?质量专员设计的这些活动,就是为了不让你的烂代码⼀泻千⾥的冲到客户⾯前设计的⼀个个检查站,当你对于“写出好代码”什么事都没做,只想着取消这些质量活动的话,就只能理解为耍流氓了。
那么,做好质量活动就能“写出好代码”吗?
答案是不能。
质量活动只是质量专员的监管⼿段,它既不是⽬标甚⾄也不是⽅法,你写代码的⽬标不是要满⾜质量活动标准,⽽是要追求零缺陷,也不会因为你Wbit测试做的好就能写出好代码。
你要做的⼀个是“不要⼀上来就开始写代码”,另外⼀个就是掌握尽量多的重构⽅法,重构思维⽅式,掌握重构并不⼀定是要对原来代码的重构,⽽是下笔之前就知道好代码该怎么写。
我让⼤家忘记质量活动,不是让⼤家不听质量专员的话,⽽是⼤家在写代码的时候要⼼中存有敬畏,代码写完之后所有的活动都是你造成的浪费,你要为消除这些浪费⽽竭尽全⼒。
三、你要记住,你写的代码是给⼈看的
我之前听⼀位同事讲他上⼀家公司的⼀件听来⼗分惊悚的故事:
他原来公司的⼀位同事离职了,留下的是⼀堆⼗分复杂,看了会让⼈神经错乱的C++代码,他⾛了之后,发现整个项⽬组的⼈没有⼀个⼈能接⼿得了他的模块,项⽬经理不得不⾼价加请客吃饭的⽅式让他过来给全项⽬组的⼈讲两天他的代码。这个家伙⼤有“看吧,只有我才能搞定”的“⾐锦还乡”姿态。我好奇的是这个项⽬经理为什么没有尽早的开除他,简直就应该报警啊。
好的代码是让⼈看来赏⼼悦⽬的,任何能⼒不够或者炫技成分的增加⼈的阅读障碍的⾏为都需要被改进,你能不能三两句话就能说清楚你⾃⼰写出来的代码的脉络,当然这同样涉及到你要掌握尽量多的重构⽅法和重构思维⽅式。
另外还有⼀个⾃我评判的标准,就是你扪⼼⾃问⼀下,“你写了这么多代码,你曾经为之动⼼过吗?”你是否写完之后会忍不住的反复阅读⾃⼰写完的代码,并连连暗暗惊叹代码之美?
作为⼀名程序员,希望在你某天离开公司后回想起的若⼲个开⼼时刻中,有⼀个会是因为你⾯对⾃⼰刚刚出炉了⼀份让⾃⼰⼼动的代码的那份感动,⽽不要成为上⾯提到的那个“离开后,公司才知道他有多么重要”的家伙。
四、现在开始,刻意练习
你是否发现⾃⼰长期维持着“刚刚好能完成story”的代码⽔平,写了好⼏年代码仍然会被测试⼈员追着屁股提单?
种种疑惑是因为代码能⼒的提⾼跟你写了多少年代码没有直接关系,你需要做的是刻意练习。如果⼤家对Python感兴趣的话,可以加⼀下我们的学习交流抠抠哦:649,825,285,免费领取⼀套学习资料和视频课程哟~
⽐如把我前⾯提到的⽅法反复练习,或者把你⾃⼰琢磨出来的⽅法分解成⼀项项的环节,刻意的去练习,从测试那⾥得到反馈,然后不断加以改进,慢慢你就会从⼀个整天被测试⼈员追着跑的⼈,变成发现⾃⼰很容易就能达到质量过程标准的⼈,再慢慢就会发现你写出来的代码测试⼈员越来越难发现问题,最后只要你状态好点就能经常性的写出零缺陷的代码。
其实有些道理我们貌似都知道,但是我觉得离真正懂得还差了两步,第⼀就是你需要亲⾝去经历、践⾏这些道理和⽅法,第⼆就是你要能够转述并让其他⼈也能够明⽩。
所以最好的学习⽅式就是亲⾝经历,然后写下来分享给⼤家,这样才能让你真正懂得那些你原来认为懂得了其实未必懂得的道理。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论