入行 15 年,我还是觉得编程很难

Highlights

  • 大多数时候,你的代码只要能满足当前需求

  • 忽视自动化测试:没人写单元测试,也没人关心测试

  • 并且,能否写出易于修改、适配变化的代码,是区分普通程序员和优秀程序员的重要标准之一

  • 一再被推迟的重构:因项目排期过于紧张,迫在眉睫的重构被一再推迟,技术债越积越多

  • 只从技术角度思考问题,成不了好程序员,有些东西远比技术更重要。

  • 给许多“大项目”写代码不光没意思,还很危险,远不如在 LeetCode 上做一道算法题有趣

  • • 代码是否存在过度设计、过早优化的毛病?

  • 那些在降低复杂度上投入时间的团队,所负责的软件项目更容易成功

  • 是人在要求软件变更。你绝不想把那些不同人出于不同原因所关心的代码混在一起,这样只会把他们和你自己搞糊涂。”——“单一职责原则”

  • 我应该在上图中的哪个位置停下来?

  • 在忙啥呢?” “试着修复我之前修一个问题时搞出来的问题,那问题是我之前解决另一个问题搞出来的,而那个问题又是我……”

  • 但许多人常常缺少一种身为“创造者”的觉悟

  • 不要“眼睛大,嘴巴小”,只知道奔着最经典、最权威的资料而去

  • Any fool can write code that a computer can understand. Good programmers write code that humans can understand

  • 身为程序员,保持对“创造”的热情至关重要

  • 4 避开代码完美主义陷阱

  • 我们应该更多地阅读那些经典软件项目,从中学习 API 设计、模块架构和代码编写的技巧。

  • 开发任何一个小需求都难如登天。