程序员应该知道的100件事儿,这八件你要先了解:
- 管理复杂性
软件开发是为了解决一套高度错综复杂、环环相扣的概念的全部细节问题。
复杂没法避免,但可以管理,管理复杂性是软件开发最重要的课题。
我们要做迷宫里寻找出口的老鼠,而不是迷宫里打洞的鼹鼠。
2.技术债,要pay back
每当你想着“先做出来,回头再优化“,却发现又有新的任务让你没法回头时,你便欠下了”技术债“。
技术债务就像信用卡,刷的时候爽,还的时候哭。要及时还债,避免未来的更多问题。
3.我待客户如初恋
需求背后的意义,就像是女朋友说“我没事”,你最好还是问问她到底怎么了。
我们首次遇到的用户需求可能只是用户/产品从自己角度想到的一个方案,可能并不是最佳的。
4.简
代码之美,不在于你用了多少复杂的技术,而在于你如何用最简单的方式解决问题。
5.Less is More
“过度实现?不存在的,我们的代码只解决眼前的问题。”
不要预计将来会用到。最好的代码是不能再删减一行的代码,哪怕是注释。
给你的代码做减肥,要记住,代码是负债,而不是资产,能用8行代码实现的就不要用10行。
6.出错咋啦!
“硬件会出错,软件会出错,连监控程序也会出错,我开始思考这个世界上有没有什么东西是不会出错的。”
“没有!所以不要惧怕故障,克服错误的正确方法是面对错误!”
7.看见
· 一条错误日志
· 用户反馈的一个不符合预期的Case
如果你选择忽略类似上面的一个错误,对其视而不见,假装一切都没发生,那你就是在背负巨大的风险。每个被忽视的错误,都在悄悄策划一场起义。
8.营地法则
离开时比来时更干净,这是规矩。
提交代码时同样如此,只需要 commit 提交时好于 checkout 时即可,你可能仅仅改进了一些变量命名的可读性,或者把长函数拆分成两个短函数;
还有什么是你觉得程序员一定要知道的?评论区告诉我