写点什么

软件开发不同阶段的命名风格

用户头像
顿晓
关注
发布于: 2021 年 05 月 03 日
软件开发不同阶段的命名风格

继续分析软件开发过程中的命名事宜。


首先是需求分析,其输出是用户故事,第一要点是形成统一语言/UL,即所有相关者理解都一致。

每个故事都边界都用验证测试/AC 来确定,有种说法是程序员先从练习写 AC 开始,所以建议大家也都试试。

每个 AC 都实现了一定的价值,有明确的输入输出,也是 TDD 的源头/基础。

这个阶段函数>模块,从 AC 里面抽象出函数即可,参数和返回值也尽量抽象成接口,并给予命名。

命名风格一般用大小驼峰,这点上 go 语言的一致性比较好,统一用大驼峰;其它语言函数名可能要用小驼峰,如果影响不是太大,我建议和 go 保持一致,接口和函数都用大驼峰,私有函数用小驼峰。


接下来是概要设计,开始进行模块划分,DDD 里叫识别边界上下文。

其中最难的是识别核心域/核心模块/Core,需要对产品需求和技术实现同时有深入的理解。

为 Core 设计并搭建框架,判断这一步是否做对的一个方法是添加一个功能时要修改几行 Core 代码,比如,如果支持插件,则是 0 行代码。

这个阶段要为模块命名,以及源码文件名,模块名一般和文件名对应,而且文件名受文件系统影响-有的文件系统不区分大小写,所以模块名一般都用小写。


补充,概要设计完成,需要有能运行的框架,并拿用户故事去验证可行。框架在技术上也要能通过评审,然后才能继续下一步。


详细设计时要先完成函数,数据,接口的定义,可以采用代码即文档的方式:javadoc,jsdoc,rustdoc。把详细的说明以注释的方式写在代码里。

这一阶段以定义为主,但代码也能做到编译通过,可以提交。

命名来源于用户故事/AC,风格以大驼峰为主。


数据结构的域值,对象的属性命名,接口内的方法一般使用小驼峰。


具体实现时,要考虑函数可测试性,简单的函数调用没必要测,涉及到计算和复杂逻辑的才需要测。

如果之前定义的函数不利于测试,可抽取其中计算和逻辑的部分为私有函数,对该函数进行测试。

使用测试主要是为了提高效率,单机本地不离开 IDE 就能确保实现完整。

函数内临时变量命名风格使用小驼峰,属性/域前面会添加 this/self 来做区分,辨识度上影响不大;这类语言一般觉得蛇形太丑,所以不采纳。可以接纳蛇形的语言,临时变量用蛇形也可。


发布于: 2021 年 05 月 03 日阅读数: 11
用户头像

顿晓

关注

因观黑白愕然悟,顿晓三百六十路。 2017.10.17 加入

视频号「编程日课」 知识星球「俺的死党顶」

评论

发布
暂无评论
软件开发不同阶段的命名风格