标签:net moc 计时 更换 des 内存 提高 不同 配置管理
软件开发,最后终归要编写程序代码来实现。
程序语言,即计算机语言,与自然语言的语种一样,也是五花八门,就我自己用过的语言就有:汇编、BASIC、FORTRAN、VB、C、C++、C#、PASCAL、PHP、JAVA、PYTHON、R等,还有脚本语言如:JavaScript/jQuery、HTML、XML、JSON、Shell、EL、SQL等。还有一些未曾使用但稍稍了解的语言,如ADA、COBOL、EPL、Erlang、F#、Go、LISP...等等,不一而足。
只要有配套的解释器或编译器,就可以有一种计算机语言。实际上,通过语法分析、词法分析,结合编译原理,就可以自己设计语言。
选择何种计算机语言,在总体设计时需要考虑,与软件依赖的软硬件环境有关,也与需要实现的需求有关,再结合计算机语言对开发实现带来的便利性。
在C++时代,不同的编译器有自己的类库,如Turbo C++、Borland C++、C++ Builder、Visual C++、GCC等,一旦选择,更换的成本非常高。
C++作为OOP的主力语言,高性能是优点,但内存管理给开发人员带来很大挑战,因此GC机制的引入,使得很多应用放弃了C++,而使用C#或Java。
Python近年来,持续火热,一方面因其支持函数式编程,另一方面与其支持大量机器学习算法包有很大关系。但由于其GIL,很难做到真正的多线程,并发能力是瓶颈。
在Windows平台,VC++和C#.Net是主流的选择;在Linux平台,主流选择是Java。其它如C、Python、PHP、Node.js等视需求选择。
Java作为跨平台语言,是如今B/S架构的主流语言,框架从早期的SSM到如今的SpringBoot,插件也非常丰富。因此,如有机会,就应尽量了解、熟悉和使用Java语言。
程序代码不仅输入给编译器或解析器,同时也是呈现给开发人员的。计算机语言,是表达思想的一种方式,这就需要开发人员有良好的表达能力。这个表达能力,不仅是符合计算机语言的语法和业务的逻辑结构,还应遵循约定的编程规范,从而使得开发团队成员阅读代码变得轻松,提高团队成员流动的便利性,降低代码的维护成本。
编程规范一般涉及如下部分:
编程规范的执行情况,可以结合工具检查和人工代码审查来实行。工具如CodeStyle,Pylint等。
在代码开发之前,先确定接口,包括入参和出参,接口代码可以先不实现,用固定的值返回(即所谓的假接口)。
如Java开发,可以使用Swagger或YApi来开发接口,结合Mock构造数据,然后就可以部署,调试接口。
接口先行,好处多多。可以很容易发现参数是否缺失,数据类型是否合理等等,甚至可以检测出接口是否需要增加等情况。
由于代码尚未实际开发,所有调整的代价都是很低的;一旦代码已经编程实现,调整起来容易伤筋动骨。
Java开发,使用JUnit,实现单元测试,是提高代码质量的有效手段。
当然,单元测试的有效性,更重要的是测试用例的有效性;但使用单元测试框架,可以大大提高回归测试的效率。且单元测试可以单独部署,也便于测试验证。
因此,应尽量使用单元测试框架。
Jenkins使得代码的持续构建成为现实。
代码持续构建,方便获取可验证程序软件,便于及早发现问题,对于提高团队开发效率,帮助很大。当然,还需要与配置管理结合起来。
责任人:开发项目组长。
执行人:开发人员(软件工程师)。
关键行为:编码实现和自测。
输入:
输出:
职责要求:
标签:net moc 计时 更换 des 内存 提高 不同 配置管理
原文地址:https://www.cnblogs.com/alabo1999/p/13024455.html