软件开发是一项复杂的工程,不能只理解成编码。确定需求->架构设计->实现需求->测试发布。
隐喻,也就是软件工程中的建模。
关注质量,前期准备的重要性。‘架构师吃掉需求,设计师吃掉架构,程序员消化设计。’我们程序员只是软件开发中的一环。如果需求不确定,后期再修改,重新设计,重新编码,花费的代价是前期的几十上百倍。所以我们前期应该确定好需求,设计好架构,再进行编码。当然,需求不可能是一成不变的。我们应该在开发中留有应对需求变更的方法,比如演进交付法:小块小块的开发交付,获得反馈,再构建。
确定编程语言和所用框架,了解其优缺点,约定语言规范。
管理复杂度,迭代设计试错,确定软件架构,分析模块,显示什么,隐藏什么。
类是管理复杂度的首选工具,类的接口要保持一致的抽象,隐藏其中的一些信息,只提供操作方法,包含比继承更好,继承增加了复杂度。
子程序提高程序的可管理性,可读性更高,易于修改,比较可靠。但是必须要有一个好的命名。
统一处理异常。
编写伪代码来确定业务逻辑,便于寻找最佳方案。伪代码可能成为程序注释。
数据初始化,变量名必须具体,便于阅读而不是便于编写,团队命名规则必须统一(驼峰?下划线。。。),确定变量的作用域,避免使用全局变量。
熟悉所用语言的基本类型,正确运用其特性。javascript: number、string、null、undefined、object、boolean、 symbol
控制语句if-else、switch注意把概率高的事件放前边。
软件质量、协同工作、测试、调试等工作,只要前期确定好开发规范,架构合理,后期的工作将不会很难。
修改代码百分百会遇到,重构代码的最好时机是开发阶段,要想重构比较轻松,就保证编写代码的质量。
注释应该说出代码无法说出的东西,注释多不等于代码好,好的代码根本不需要注释。
大项目拆分模块,小项目掌控全局,都要用心去对待,编写高质量的代码。