标签:gui 目录 命名空间 实践 源代码 混合 test 用户 cmake
1. 结合工程实践选题相关的一套源代码,根据其编程语言或项目特点,分析其在源代码目录结构、文件名/类名/函数名/变量名等命名、接口定义规范和单元测试组织形式等方面的做法和特点;
在本文中将要分析的代码是leveldb,该项目的源码目录结构如下:
其中
对于level中的命名规范遵循Google C++ Style Guide,其中文件名要全部小写, 可以包含下划线 _
或连字符-,C++文件要以
.cc
结尾, 头文件以.h
结尾。
类名每个单词首字母均大写, 类名中不能出现下划线。普通变量使用小写字母和下划线的组合,类数据成员在普通变量的基础上最后以下划线结尾。而函数使用大小写混合和下划线组合的形式。
命名空间的名称全部小写
枚举中的的枚举值k开头剩余单词首字母大写
宏命名使用字母数字和下划线的组合,其中字母全部大写
对于leveldb中的注释全部使用//,在每个头文件中都会加上leveldb的license
对于leveldb中的单元测试文件,会分布在各个具体实现的类的文件夹中,测试文件名以_test结尾,编译后测试的可执行文件会集中放在build/文件夹中
2. 列举哪些做法符合代码规范和风格一般要求;
google作为当今的IT巨头,它的编码规范是在许多服务亿万用户的大型工程中磨炼出来的,那么它的代码规范并没有什么大问题,与当今的编码规范符合,因为有很多公司的编码规范也是按照Google Style Guide去实施的。
3. 列举哪些做法有悖于“代码的简洁、清晰、无歧义”的基本原则,及如何进一步优化改进;
个人认为leveldb代码的最为难受的一点是它使用了两个空格的缩进,在我看来这种做法的层次不够清晰,在阅读时感觉十分不适应。解决办法:把两个空格的缩进改为最流行的四个空格缩进。
4. 总结同类编程语言或项目在代码规范和风格的一般要求。
C++的一般要求为使用缩进为4格的Google C++ Style Guide。
标签:gui 目录 命名空间 实践 源代码 混合 test 用户 cmake
原文地址:https://www.cnblogs.com/ustc-yz/p/11660834.html