Skip to main content

总结

  • 代码应以 可读性 -> 壯健性 -> 扩展性 依次来设计,可读性必须放到代码设计的首位。

函数

  • 使用递归需谨慎,递归函数必须有一个手动指定的最大递归深度

  • 函数的命名应该可以表明其行为或者返回值

    def find(nl, n, i):           # BAD
    def linear_search(nl, n, i): # BAD


    def first_index_of(sorted_name_list, name, index=0): # GOOD
    def search_list_of(name_list:list[str], name:str, start_index:int=0) -> int: # very good

变量

对象

其他

不以行数论英雄

新手程序员往往觉得相同的功能用越少行数的代码实现就越牛逼,会讲一些要多次计算的逻辑写到一行中,并且直接返回,其实这是这个严重的误区,这样写代码对后面的断点试调和日后的阅读理解造成无法弥补的坑,1,2年经验的程序员常常会陷入的误区。

禁用魔法值

任何未经定义的字符串,不明所以,只会添加后期维护成本,所以必须禁止这种做法,无论是在个人项目还是开源项目

命名复杂布尔值表达式

数据库小数类型必须使用 decimal 类型