正文
框架要先选好,模块的话,等需要慢慢加就行了。
5. 测试代码
2007 年,单元测试在开发过程中,重要性不是很大,可有可无,程序完成,功能能用就行。
如今的代码,没有单元测试部分,这个工程就不能算完结。甚至是,测试驱动开发已经成为主流,先写测试代码,然后开发。
测试代码的发展有不单单是单元测试部分。单元测试,集成测试,功能测试,性能测试,压力测试等等,都在开发过程中占了极大的位置。以前测试都是由专门的测试员进行人工测试,或者他们负责测试;如今单元测试和集成测试都是要开发者自己写。
6.跨设备,跨平台
Java 提出的跨平台,一次编译到处运行的梦想,其实至今未很好的实现。但是如今这个跨设备,跨平台编程趋势却越来越明显了。
跨设备,主要是指桌面和手机,尤其是针对显示器的最佳实践是层出不穷,如今是响应式成为了主流。
跨平台,出自于 Java 的一个概念,如今已经算普及了,尤其是 JavaScript,桌面,手机,服务器,浏览器,嵌入式都能看到 JavaScript 的身影,这大大归功于 JavaScript 标准化的推广。跨平台过去是说一次编译到处运行;如今是只要这个平台支持这个语言或标准,就能用。如今的跨平台编程,更讲究特性检查这个功能,如果你这个 平台没有这个特性,那么就关闭这个有这个特性的功能,但其他功能还可以继续使用。
今后,各种设备层出不穷,VR 头盔,AR 眼镜,巨型屏幕,物联网等等,跨平台会有进一步的发展。
02
工程方面的
1.工具化
我觉得工具化非常突出了,凡是能工具完成的事情,绝对不手工完成。以下几个方面都是可以找到相应工具,帮助开发者管理代码质量
-
代码风格检查
-
工业标准检查
-
代码整理
-
代码复杂度检查
-
单元测试覆盖率检查
-
依赖管理
-
压缩代码
-
重复代码检查
-
无用代码检查
等等,
2. 工程化
工程化也是近年来最最突出的一个发展趋势,过去只是选择性的,现在是必须的。
工程化是以工具化为基础的,没有工具,那么工程化也无从谈起。
工程的核心就是流程自动化,又称之为构建,这些包括了:代码质量检测,代码压缩,代码合并,代码优化,代码编译,单元测试等等部分。构建就是把这些以工作流程的方式组合起来,然后用一个命令行运行这整个流程。它有点像批处理,但是是程序开发中使用的特殊批处理
在网页编程的过程中,现在又流行“实时编程”,就是当你在保存代码的时候,以上的构建流程就开始工作完成后自动刷新浏览器,保证新代码效果立刻反应在浏览器上。
现在,你去 GitHub 的项目库中找软件,首先翻看,是否有工程文件,看看它的构建流程是什么,就知道这个项目的专业程度和项目的质量了
而自己,没有一个配置一个工程化的流程系统,都不好意思说自己在做软件工程。