跳到主要内容

《程序员的38堂成长课》

· 阅读需 10 分钟
读心悦

编码

代码整洁

  1. 不要为了编码规范争吵,对于编码规范要有正确的态度;
  2. 好的编码规范服务于代码的意图,绝对不是什么艺术探索;
  3. 好的编码规范是为了减少错误,而不是创作ASCII码的艺术;
  4. 牢记代码是为他人而写的;
  5. 不要把调整排版和修改功能同时放在一次提交中,需要分别提交到版本控制系统;
  6. 不要复制代码,将重复的代码提交到一个共有函数中,通过参数来控制变化部分;
  7. 确保每一句注释都有其价值。代码本身通常都能说明What 和 How 的问题。注释通常是为了解释 Why——不解释其然,解释其所以然; 8.不要把代码注释掉。这会让其他人感到困惑并妨碍他们修改代码;
  8. 让代码每天都比前一天更好。消除你遇到的所有不必要的重复;
  9. 重温自己以前写的代码可以看出你的编码技巧是进步了还是退步了。
  10. 你既可以通过添加代码改善系统,也可以通过删除代码改善系统。
  11. 学习代码的最佳方法是修改它,然后从错误中学习。
  12. 混乱的代码无所不在,要未雨绸缪。准备一些应对它们的法宝,并且能运用自如。 13.遇到“糟糕”的代码,要克制自己的厌恶情绪,想办法进行一些切合实际的改善。
  13. 慎选战场。权衡是否应该投入时间和精力来“清理”糟糕的代码。置之不理可能更务实。
  14. 遵循童子军军规。只要修改代码,就让它变得比修改之前更好。
  15. 对于烂代码,不必追究责任。
  16. 不要忽略代码中的任何错误。不要推迟到以后出错再处理,“以后”处理通常表示不会处理。
  17. 合理使用异常。掌握编程语言中异常的用法和规则。
  18. 在编写代码时考虑所有可能的执行路径。不要拖延对“异常”情况的处理,因为拖延往往会变成忽略,代码将因此产生 bug。
  19. 通过合理使用工程实践,避免 bug 进入代码。不要期望快速生成的代码是高质量的。
  20. 断言和日志(即使是不起眼的 printf)都是有效地消除 bug 的工具。要高效使用。
  21. 尽快修复 bug。不要让它们堆积起来,将你的代码变成垃圾坑。
  22. 在编写代码的同时编写测试。不要推迟,否则测试的效率将非常低。
  23. 简单的代码需要设计。它与过于简化的代码不是一回事
  24. 停下来思考一下。不要写愚蠢的代码。
  25. 承认错误和失误的编码决策。从错误中学习。
  26. 集中精神。在编写代码时不要漫不经心。
  27. 不要试图让代码不可改变。如果产品中有不可更改的代码,那么产品就会腐化。
  28. 产生“好的代码”不是别人的问题。这是你的责任。你有能力做出改变,带来进步。
  29. 避免复制–粘贴代码。可以将公用的逻辑放到公有函数和公共库中,而不是忍受重复的代码和重复的 bug。
  30. 不要忽视别人的代码。与其编写自己的版本,不如使用现有的第三方库。
  31. 使用版本控制系统。它既不是可选的,也不是最好拥有的工具,而是开发工作的支柱。没有它,你的工作成果就时刻处于危险当中。
  32. 在版本控制系统中存储软件项目包含的每个文件。但是要存储尽量少的文件,不要包含任何不必要的文件。
  33. 提交要小而频繁。
  34. 处于不断学习的状态。对学习新的东西充满期待。
  35. 学会享受学习。要学习什么呢?学习一种新技术、学习一种新技能、学习如何与他人合作、学习一个新的问题域、学习如何学习、学习完全不同的东西。
  36. 使用尽可能多的信息源来提高学习质量。
  37. 学习时记笔记。即使你会把笔记扔掉,也要这样做
  38. 对于某个话题,通过教来学效果很好
  39. 一个重要的学习技巧是边做边学
  40. 通过实际使用来巩固所学知识。运行示例代码,回答问题,创建示例项目。
  41. 当你达到胜任的状态时,一定不要自满。在编写代码的时候一定要让大脑充分参与,以避免愚蠢、潜藏危险的错误。
  42. 要警惕停滞不前。从定义上讲,追求成为一个更好的程序员并不是一种舒适的生活方式。
  43. 投入时间和精力来提高技艺。这是一项值得的投资,会有回报的。
  44. 不要变成技能单一、只会一招的人。作为开发人员,你需要去发现新的挑战,不断学习和成长。
  45. 优秀的程序员了解多种语言和多种惯用法,从而拓宽了解决方案的选择范围。这改进了他们编写的代码。
  46. 为了用一种语言编写出最好的代码,你应该遵循它的风格和惯用法,而不是强推自己的那一套。
  47. 好的程序员也是好的沟通者。他们听、说、读、写、编都很好。
  48. 不要期望一夜之间就成为语言大师,但也不要在学习的过程中感到沮丧
  49. 照顾好自己。工作时保持良好坐姿。
  50. 使用已有的代码,而不是自己从头开始编写。把时间用在更重要的事情上。
  51. 代码的作用是与计算机进行沟通。为保证指令按照你的意图执行,它们必须清楚而明确。
  52. 代码的作用是与其他人进行沟通,也包括你自己。代码必须是清晰明了的,这样其他人才能维护。
  53. 更多的注释并不一定使你的代码更好。表达清晰的代码不需要额外的注释来支撑。

可以做些改变

  1. 停止使用相同的工具。也许会有更好的方法让你的生活更轻松,你需要去了解它们。
  2. 停止对每个问题使用相同的编程语言。不要用高射炮打蚊子。
  3. 开始使用不同的操作系统。学习如何正确使用它们。即使不喜欢,也花一段时间去尝试,真正了解其优点和缺点。
  4. 开始使用一个不同的文本编辑器。
  5. 学习键盘快捷键,看看它如何影响你的工作流程。有意识地停止使用鼠标。
  6. 学习你在当前的工作中不需要的一个新话题,比如加深对数学或排序算法的了解。
  7. 开始你的业余项目。是的,利用你宝贵的业余时间做个“极客”,并且开放源代码。