码迷,mamicode.com
首页 > 其他好文 > 详细

分析一套源代码的代码规范和风格并讨论如何改进优化代码

时间:2019-10-13 20:30:31      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:文件包含   上下   分代   也有   函数   双引号   test   超过   导入   

工程实践题目与自然语言处理相关,其中主要项目涉及到聊天机器人的实现,于是在Github上下载了一个封闭领域的聊天机器人,并据此进行源代码的分析

Github地址:https://github.com/dennybritz/chatbot-retrieval/

以下是项目的文件目录结构

可以看到,文件夹主要分为models,notebooks,scripts三部分,其中,主要的类存放在scripts文件夹中,命名很清晰,hparams,models,test,train,让人能够很清楚地知道该文件包含的内容及作用。

技术图片

 

 

 

 

以下是部分代码片段

技术图片

 

 

 可以看到,作者拥有良好的编码风格,例如,将所需使用的库在文件开头统一导入,同时,也在关键步骤之前写明了注释字符串。函数命名,例如get_features,很清晰。

让人可以从函数名读出其作用,方便学习,大部分函数命名采取下划线连接相关词的形式。这也是我们编码时应当学会的,尽量避免使用指向不明的变量、函数名,这样也有利于后来的人阅读,维护代码。

 

 

关于Python的编码规范:

python编码规范可以由阅读PEP-8文档得知,其中比较著名的就是缩进四个空格了,这也是PEP-8规范之一,现在在Pycharm中也可以查看PEP-8编码规范

列举一些常用的代码规范:

1.文件名、模块名和包名采用小写字母并且以下划线分隔单词的形式;

  以本文项目为例:udc_train,udc_hparams

2.类名或异常名采用每个单词首字母大写的方式

   如:BaseServer,ForkingMixIn,KeyboardInterrupt

  • 将相关的类和顶级函数放在同一个模块里. 这一点不像Java, 不必限制一个类一个模块.

3.全局或者类常量,全部使用大写字母,并且以下划线分隔单词;

   如:MAX_LOAD

4.其余变量命名包括方法名,函数名,普通变量名则是采用全部小写字母,并且以下划线分隔单词的形式命名。

  如:my_thread

  • 私有函数在函数前加一个下划线_

5.以上的内容如果是内部的,则使用下划线开头命名。

  如:__init__,__new__ 

6.虽然Python同时支持单引号以及双引号的字符串表示,但按约定俗成的规定,一般还是以单引号表示字符,双引号代表字符串。

7.每行行宽一般不超过80个字符,最长不超过120个字符,pycharm会在相应位置划线。

下图最右便是pycharm中的线

技术图片

 

分析一套源代码的代码规范和风格并讨论如何改进优化代码

标签:文件包含   上下   分代   也有   函数   双引号   test   超过   导入   

原文地址:https://www.cnblogs.com/NiGO666/p/11668085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!