2021年/01月/16日

首页回退

代码大全摘录

软件开发过程中,各种不同的活动

定义问题(problem definition)
需求分析(requirements development)
规划构建(construction planning)
软件架构/高层设计(software architecture/high-level design)
详细设计(detailed design)
编码与调试(coding and debugging)
单元测试(unit testing)
集成测试(integration testing)
集成(integration)
系统测试(system testing)
保障维护(corrective maintenance)
构建活动的质量对软件的质量有着实质性的影响
对“如何进行构建”的理解程度,决定了程序员的优秀程度
科学发展的历史并不是一系列“错误”的隐喻到“正确”的隐喻的转变,而是一系列从“不太合适”的隐喻到“更好”的隐喻的转变
对于编程来说,最大的挑战还是将问题概念化
一次设计系统的一小部分、写出一段代码、做一点测试,并将成果一点点添加到整个系统中。通过这种小步前进,你可以把每次可能遇到的麻烦减到最小
作为一个隐喻而言,增量式开发的优势在于未做过度承诺
如果没有一个良好的问题定义,你努力解决的可能是一个错误的问题
每个构造块应该负责某一个区域的事情,并且对其他构造块负责的区域知道的越少越好
无须详细说明系统中的每一个类。瞄准80/20法则:对哪些构成系统80%行为的20%的类进行详细说明
架构应该明确地指出有风险的区域
软件的首要技术使命就是管理复杂度。以简单性为努力目标的设计方案对此最有帮助
简单性可以通过两种方式来获取:一是_减少在同一时间所关注的本质性复杂度的量_,二是避免生成不必要的偶然的复杂度
好的设计都是迭代的。你尝试设计的可能性越多,你的最终设计方案就会变得越好
息隐藏是个非常有价值的概念。通过询问“我应该隐藏些什么?”能够解决很多困难的设计问题
人的个性对编程能力有直接影响
很多程序员不愿主动吸收新知识和技术,只依靠工作时偶尔接触的新的信息。如果你能抽出少量时间阅读和学习编程知识,要不了多久就能鹤立鸡群
好性格与培养正确的习惯关系甚大。要成为杰出的程序员,要先养成良好习惯,其他自然水到渠成
编程应基于问题域而非解决方案,这样便于复杂性管理
墨守成规的方法有悖于高质量的软件开发。请将编程工具箱中填满各种编程工具,不断提高自己挑选合适工具的能力