名师指路:别光写代码

1、不不要毫⽆无计划地写代码,思考、调研、计划、编码、 测试、修改,⼀一个都不不能少;

2、不不要写代码前过度计划,在⼀一头钻进代码前做点计划 是好事,但是即便便是好事,也可能物极必反。
3、请勿低估代码质量量的重要性,如果你只能够关注你所 写的代码的⼀一个⽅方⾯面,那么肯定是可读性。

4、使⽤用实现功能的最简单⽅方案,作为专业的程序员,你 的职责不不是找出问题的⼀一个解决⽅方案,⽽而是找出问题的 最简单 的解决⽅方案;

5、适时放弃,当你开始怀疑⼀一个解决⽅方案的时候,你就 应该考虑抛弃它,并且重新思考这个问题。不不管你已经 在这个 解决⽅方案中投⼊入了了多少精⼒力力。像 GIT 这样的版本
控制系统能够帮助你分开管理理和尝试多种不不同的解决⽅方 案,把它利利⽤用起 来吧;
6、正确使⽤用 Google,除⾮非你正在使⽤用⼀一种极其前沿的 技术,否则当你遇到⼀一个问题时,很可能别⼈人早就遇到 过同样的 问题了了,并且也找到了了解决⽅方案了了。给⾃自⼰己省 点时间,先 Google ⼀一下;
7、做好封装,基本的想法就是你想你的代码⾼高内聚和低 耦合,意思是说保持相关的代码在⼀一起(在⼀一个类中), 降低 不不同类之间的相互依赖;
8、做好规划,写好需求再写代码,尽可能编写⽬目前正在 实现的⽅方案所需的最少量量代码;
9、要懂算法,使⽤用合适 的数据结构;
10、不不要写重复性代码,要⽤用好配置⽂文件, 不不要使⽤用没必要的条件语句句和临时变量量;
11、做好代码注

释,但是不不要给傻⼦子都知道的代码写注释;
12、⼀一定要写好测试,如果可能的话,甚⾄至在开始写代 码实现需求之前,你就应该开始预估和设计需要测试校 验 的情况了了。测试驱动开发 (Testing-driven development, TDD)不不是什什么花俏的炒作,它是会实实 在在会对你思 考功能特性、寻找更更好的设计⽅方案产⽣生积 极影响的。
13、不不要觉得代码运⾏行行起来就是正确的,有些时候代码 的 bug 可能并不不是显⽽而易易⻅见的;
14、要能够质疑既有代 码,作为⼀一个初学者,总是应该假定那些你读不不懂的、 且没有⽂文档注释的代码很可能就是糟糕的 代码。质疑之,询问之,使⽤用 git blame 揪出罪魁祸⾸首!

15、不不要过度迷恋最佳实践,我觉得 "最佳实践" 其实是

害⼈人的,它暗示着你不不需要深⼊入研究它,这就是有史以 来最佳实践,不不⽤用质疑!
16、不不要过度迷恋性能优化,如果你在运⾏行行代码之前就 在优化它了了,那很可能你就是在过早优化代码了了,也很 可 能你正在费时费⼒力力做的优化是完全没必要的。
17、以⽤用户体验为⽬目标,要站在最终⽤用户的⻆角度看问 题。专业的开发者要考虑这个特定功能的⽤用户需要什什 么、怎 样使⽤用,要想⽅方设法使得这个功能容易易让⽤用户发 现和使⽤用,⽽而不不是想⽅方设法在应⽤用中⽤用最便便捷添加这个 功能,毫不不 考虑这个功能的可发现性和可⽤用性。

18、为你的开发任务挑选合适的⼯工具,你可以使⽤用最原 始的⼯工具建造房⼦子,然后享受甜蜜时光。你也可以花费 ⼀一些时间 和⾦金金钱去了了解先进的⼯工具、更更快地建造更更好的

房⼦子。⼯工具在不不断地改进中,你要乐意去学习它们、使 ⽤用它们。
19、要理理解好代码问题和数据问题之间的关系,即使是 程序中最⼩小的 bug 也会导致它所管理理的数据去到⼀一种不不 可预测的 状态。尤其是当所有数据校验都完全在这个有 bug 的程序中进⾏行行时。
20、切勿重复造轮⼦子,使⽤用好现有的轮⼦子和各种开源 库,会让你事半功倍。当然,不不要仅仅为了了使⽤用⼀一两个 函数 就引⼊入⼀一整个代码库,在 JavaScript 中的典型例例⼦子 就是 lodash 代码库;
21、对代码审查保持正确的态度,应该把每⼀一次代码复 审当作是学习的机会,欢迎他们、感激他们、从中学 习,最重要 的,当你从你的代码复审⼈人员那⾥里里学习到东

⻄西的时候,要感谢他们;
22、⽤用好版本控制⼯工具和系统,新⼿手往往低估了了⼀一个好 的版本控制系统的威⼒力力,我这⾥里里所说的好的版本控制系 统其实就 是指 Git;

23、不不要过度使⽤用共享状态,⼀一个新⼿手可能会尝试使⽤用 定时器器来解决这个共享变量量的竞态条件问题,特别是当 他们必须 处理理⼀一个数据锁的问题时。这是危险的标志, 别这么做,注意它,在代码复审中指出它,永远也不不要 接受这样的代码。
24、正视 Error,Error 是好东⻄西。Error 意味着你在进 步,意味着你可以通过简单的后续修改就获得更更多的进 步。专业 程序员喜爱 Error。新⼿手则痛恨 Error;
25、学会休息,任何⼈人的⼤大脑都需要休息,身体也需要

休息。

上一篇:功能测试流程


下一篇:GIT-常用操作