我的工程实践选题是面向特定主题的搜索引擎。我从github上找到了一个专门对新闻进行检索的搜索引擎,本次作业将对其进行代码规范和风格的分析
1.目录结构与文件命名
从目录结构里可以看出,这个项目将代码分为了三部分,code目录下存放项目用到的model和核心逻辑代码;data目录下存放了分词用到的数据文件,以及数据库文件;web目录下则是构成前端使用到的代码。命名也比较规范。
2.类名/函数名/变量名等命名,及接口定义规范
代码基本上是符合python的编程规范的,例如变量名和函数名均是小写+下划线的形式进行,类名使用驼峰命名法。这个项目比较简单,并没有传统意义上的接口,类之间也没有继承关系,方法都直接实现了,使用时import即可
3.列举哪些做法符合代码规范和风格一般要求;
代码的命名风格良好,目录结构清晰,代码中的缩进和空行的使用使得代码清晰易读
4.列举哪些做法有悖于“代码的简洁、清晰、无歧义”的基本原则,及如何进一步优化改进;
这个项目最大的问题是缺乏文档和注释,可以说几乎没有,除了README.md里给出了部署和使用方法外,没有任何的其他文档,也完全没有注释,导致阅读代码时很难理清作者的思路,而且这样很不适合后期维护与扩展。其次是部分变量的命名过于简单,很难理解作者的意思
5.总结同类编程语言或项目在代码规范和风格的一般要求。
1.使用空格,而不是tab进行缩进
2.模块级函数和类之间空两行,类成员函数之间空一行
3.import语句应该使用absolute import,放在文件头部,置于模块说明及docstring之后,与全局变量之前
4.作为文档的Docstring一般出现在模块头部、函数和类的头部,这样在python中可以通过对象的doc对象获取文档。编辑器和IDE也可以根据Docstring给出自动提示。
5.类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头
6.函数名一律小写,如有多个单词,用下划线隔开