[汇总]其他程序员的思考
1. 技术 入行 14 年,我还是觉得编程很难:给大项目写代码没意思还危险 写代码很简单,但写好代码很难 编程的精髓是“创造” 打造高效试错的环境至关重要: 理想的编程体验≈“刷题” 避开代码完美主义陷阱 技术很重要,但“人”也许更重要:在软件开发领域,“单一职责原则”(全称为 Single responsibility principle,后简称为 SRP)是一条非常著名的设计原则。它的定义很简单,一句话就可以概括:“每个软件模块应该只有一个被修改的理由。理解 SRP 原则的关键,在于先理解人以及人在软件开发中所扮演的角色。如果缺少了特定的组织规模(也就是“人”)作为前提,空谈微服务的各种技术优势和那些花活,纯属本末倒置。 求知若渴是好事,但也要注意方法。 越早开始写单元测试越好。 程序员最大的敌人是什么?软件生来就是准备被修改的(不然你猜,软件为什么叫“软”件?)。产品经理以及不稳定的需求不是程序员的敌人。复杂度是最大的敌人 。 来看看那些导致项目复杂度不断增长的要素: 不断增加的新功能:更多的功能等于更多的代码,更多的代码通常意味着更高的复杂度 对高可用的需求:为了实现高可用,消息队列等额外的技术组件和代码被引入 对高性能的需求:为了提升性能,缓存和相关模块代码被引入,部分模块被拆分后,换成高性能语言重写 一再被推迟的重构:因项目排期过于紧张,迫在眉睫的重构被一再推迟,技术债越积越多 忽视自动化测试:没人写单元测试,也没人关心测试 减缓复杂度增长的过程 虽然复杂度总是会不可避免地持续增长,但有许多实践可以减缓该过程。如果每个人都能做到以下这些事,复杂度就有可能被长期控制在合理范围内: 精通当前编程语言与工具,写整洁的代码 使用合适的设计模式和编程模式 对重复代码零容忍,抽象库和框架 适当运用整洁架构、领域驱动设计思想 编写详尽的文档和注释编写规范有效的单元测试...