118
社区成员
发帖
与我相关
我的任务
分享
这个作业属于哪个课程 | https://bbs.csdn.net/forums/ssynkqtd_06 |
---|---|
这个作业要求在哪里 | https://bbs.csdn.net/topics/618011014 |
这个作业的目标 | 老师布置的,目标是完成作业 |
其他参考文献 | 无 |
作为大学生,听不听老师讲课要分情况:
根据 Geek 们(又或者是 Unix 社区)对程序美学的一个共识,任何程序都应该秉持 K.I.S.S. 原则,即 Keep it Simple and Stupid。在软件设计之初,就应该设计好自己的软件应该做什么,并通过文本流优雅地提供操作界面,让你的软件保持小而美。在 Unix 下有许多小而美的程序,它们大都专注于一个功能,以文本流作为交互界面,使用管道等方式串联,组成更加强大的工具。如果有人有特殊需求,他们自己会利用你提供的规范而良好的接口设计另一个以你的软件的输出作为输入的软件。如果这个需求并不超出你在设计软件之初对软件作用的规划,那么视情况添加,并做好部分相关模块的重构。不可插拔、任何需求都需要改动源码来进行拓展的软件,最后都会变成屎山。
“过早优化是一切烦恼的根源” 出自 Unix 程序设计哲学一书,利用简单的数据结构替代复杂的算法实现,使得程序首能够正常运行,再通过性能分析等方式,去发现程序的瓶颈并进行优化。这里的早晚并不需要界定,或许你的程序根本不在意性能,如果你的程序真的出现性能问题,再进行优化。
并不矛盾,从一开始,自由软件就没有反对商业,公司依然可以通过提供服务来盈利。相反地,Unix 衰退的原因就是由于在历史的某个阶段,各个公司只专注于所谓的商业利益,而导致了分裂,从而错失了发展的良机。
不希望产出电子垃圾,希望能致力于更底层、更有价值的项目
深入学习 Modern Cpp
预计开学前完成