几个月前,我对软件工程的理解很简单:功能做出来,能跑通,界面别太难看,收工。
直到我开始给开源项目贡献代码。
打开网易新闻 查看精彩图片
说实话,这件事彻底推翻了我之前对软件开发的所有认知。那些教程里从来不教的东西,突然一股脑儿全涌过来了。
最大的转变发生在思维方式上。以前我觉得"能跑就是完工",现在写代码前会先问自己:六个月后再看这段代码,还说得通吗?
以前完全不在意的细节,现在变得至关重要:代码的可读性、架构的长期维护成本、设计决策的文档记录。这些都不是功能清单上的条目,却是真实工程里逃不掉的功课。
读别人的代码比看教程管用得多。有时候一条PR审查意见,比一整集教学视频教的东西还实在。这一点让我挺意外的。
最近被选为GSoC(Google Summer of Code)贡献者,让我更深地体会到了协作式软件开发在真实项目里是怎么运转的。即便如此,我还是觉得自己只摸到了皮毛。
如果你也在学技术、做项目,或者想跳出教程看看真实的软件是怎么建出来的,欢迎交流。毕竟,偶尔过度思考架构决策,大概是每个开源新人的必经之路。
热门跟贴