我截至 2024 年 7 月的编程信仰

主要观点:这是截至 2024 年 7 月关于计算机编程的一系列观点,基于自身经验。
关键信息:

  • 任务处理方法:不同任务、团队和项目应采用不同方法;先做“尖峰”实验快速实现再优化;遇到难题可休息;思考是否可完全跳过某些工作。
  • 软件设计:区分“简单”和“容易”;使无效状态不可表示;测试性与模块化相同;函数式编程有优势。
  • 编码细节:多种文档方式;使用变量的肯定形式;避免重命名标识符;考虑用枚举代替布尔;利用“Learn X in Y minutes”学习语言;不必过度纠结 HTTP 状态码;先使用已有工具;调整设置收益有限。
  • 人际关系:“孤独开发者”问题;简单观点往往错误;事情比预期更复杂。
  • 高层/职业:最重要的问题是非技术方面;编写新代码相对容易;做无用的东西可学习新事物;要为正确的人构建。
    重要细节:
  • 以不同方式处理不同任务,如不能用自动化测试建起搏器,周末游戏 jam 时不必过度强调自动化测试。
  • “尖峰”实验先快速实现再优化,能看清挑战所在并快速构建。
  • 理解“简单”和“容易”的区别有助于开发更简单软件。
  • 使数据类型防止无效状态可减少 bug。
  • 测试性和模块化相关,函数式编程更易做好。
  • 多种文档方式如明确文档、好名字等。
  • 避免使用否定形式的变量以避免混淆。
  • 枚举比布尔更清晰可扩展。
  • 利用“Learn X in Y minutes”快速学习语言。
  • 不必过度纠结 HTTP 状态码细节。
  • 先使用已有工具再考虑新工具。
  • 调整设置虽有趣但收益有限。
  • 孤独开发者的项目后期维护困难。
  • 简单观点往往错误,要理解权衡。
  • 意识到事情比预期复杂,不轻视他人工作。
  • 最重要的是解决非技术问题,如帮助他人、团队健康等。
  • 编写新代码相对容易,更大挑战在阅读代码等方面。
  • 做无用东西可学习新事物,要为正确的人构建。
阅读 12
0 条评论