-
编写干净且模块化的代码
- PRODUCTION CODE:在生产服务器上运行的软件,用于处理实时用户和目标受众的数据。 请注意,这与生产质量代码不同,后者描述的代码满足生产的可靠性,效率等方面的期望。 理想情况下,生产中的所有代码都符合这些期望,但情况并非总是如此。
- CLEAN:可读,简单,简洁。 生产质量代码的一个特征,对于软件开发中的协作和可维护性至关重要。
- MODULAR:逻辑上分解为函数和模块。 此外,生产质量代码的一个重要特征是使您的代码更有条理,更高效,更可重用。
- MODULE:一个文件。 模块允许通过将代码封装到可导入其他文件的文件中来重用代码。
-
REFACTORING:重构代码以改进其内部结构,而不改变其外部功能。 呈现干净的代码和模块化程序。
- 由于在最初实现某功能时, 要编写最佳代码并不容易,因此花时间来生成高质量代码至关重要。 尽管需要最初的时间和精力,但从长远来看,这可以通过加快开发时间来获得回报。
- 当您不断寻求改进代码时,您将成为一名更强大的程序员。 重构经历越多,每当首次构造和编写好的代码就越容易。
3.1. Writing efficient code - 命名原则
-
具有描述性并且暗示类型 - 例如对于布尔型,可以使用像
is_
orhas_
的前缀使布尔判断条件更清晰明了. 也可以使用不同的词性来进行命名, 例如动词之于函数或者名词之于变量. -
具有一致性但又有所不同 - 例如.
age_list
andage
相比ages
andage
更容易区分 - 避免缩写尤其是单个字符 - (对于此项原则的例外是: 计数器 和常见的数学变量) 对于常见的数学变量和函数计数器也要保证其他的开发者能够清楚的识别.
- 过长的命名 != 具有描述性的名称 - 例如. 好的函数名称通常会描述它们的作用但是不包含它如何实现的细节内容.
3.2. Writing Clean Code - 合理的使用空格
- 保持代码一致的缩进原则, 标准是使用四个空格缩进, 使用IDE可以很清楚的了解到这一点.
- 使用空行分割不同的部分, 可以保持代码具有很好的可读性.
- 尝试限制每行的字符个数在79以内.
For more guidelines, check out the code layout section of PEP 8 in the notes below.
PEP 8 guidelines for code layout
如下图所示

-
尝试每个函数使用少于三个参数
在可能的情况下, 请尝试使用不超过三个参数。这不是一个硬性规则, 有时使用许多参数更合适。但在许多情况下, 使用较少的参数更有效。如果你的函数有很多参数, 你可能要重新考虑如何将其拆分, 而且一般来讲, 如果函数名中出现and
, 那么考虑重构你的函数. -
高效的代码
第一个技巧是在loop过程中尽可能的使用向量操作

有多种方式可以用Numpy和Pandas代替loop, 对于上图中的问题, 可以简化为
如何找到两个Numpy arrays中的共同元素. 因此可以使用
numpy.intersect1d`方法.
第二个小技巧是熟悉你所处理的数据结构, 并且判断是否在python中存在类似的数据结构, 对于这些数据结构是否由相应方法速度更快. 例如上图中可以通过set
的相关方法
第三个技巧也是最重要的, 学会将自己的问题进行明确的描述, 并且善用Google!!!
- Adding meaningful documentation
- Using version control
网友评论