总结
- 代码应以 可读性 -> 壯健性 -> 扩展性 依次来设计,可读性必须放到代码设计的首位。
函数
使用递归需谨慎,递归函数必须有一个手动指定的最大递归深度
函数的命名应该可以表明其行为或者返回值
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年经验的程序员常常会陷入的误区。
禁用魔法值
任何未经定义的字符串,不明所以,只会添加后期维护成本,所以必须禁止这种做法,无论是在个人项目还是开源项目