可读性
- 使用有意义的变量名和函数名。
- 缩进代码以提高可读性。
- 使用适当的注释解释代码的目的和逻辑。
- 遵循代码风格指南,如PEP 8。
#正面例子
def calculate_average(scores):
total = sum(scores)
count = len(scores)
average = total / count
return average
#反面例子
def func(a, b, c, d):
x = a + b - c * d
y = x / 2
return y
简洁性
- 避免冗余的代码。
- 使用内置函数和库提供的功能,避免重复造轮子。
- 使用适当的数据结构和算法简化代码。
#正面例子
numbers = [1, 2, 3, 4, 5]
squared_numbers = [num ** 2 for num in numbers]
#反面例子
numbers = [1, 2, 3, 4, 5]
squared_numbers = []
for num in numbers:
squared_numbers.append(num ** 2)
一致性
- 遵循一致的命名约定和风格。
- 保持代码结构和格式的一致性。
- 使用统一的代码组织方式,如函数的顺序和参数的排列顺序。
# 正面例子
def calculate_average(scores):
# 函数名使用小写字母和下划线的组合
total = sum(scores) # 变量名使用小写字母和下划线的组合
count = len(scores)
average = total / count
return average
# 反面例子
def calculateAverage(scores):
total = sum(scores)
count = len(scores)
avg = total / count
return avg
独立性
- 将代码分解为独立的函数和模块,每个函数和模块负责一个特定的任务。
- 尽量遵循单一职责原则,每个函数和模块只做一件事。
- 通过模块化可以提高代码的可重用性和可维护性。
# 正面例子
# utils.py
def calculate_average(scores):
total = sum(scores)
count = len(scores)
average = total / count
return average
# main.py
from utils import calculate_average
scores = [80, 90, 75, 95, 85]
average_score = calculate_average(scores)
print(f"The average score is: {average_score}")
#反面例子
# main.py
def calculate_average(scores):
total = sum(scores)
count = len(scores)
average = total / count
return average
scores = [80, 90, 75, 95, 85]
average_score = calculate_average(scores)
print(f"The average score is: {average_score}")
正面例子:
代码被分为两个模块:utils.py
和 main.py
。utils.py
模块包含一个用于计算平均值的函数 calculate_average
。main.py
模块通过导入 utils
模块并调用其中的函数来计算一组分数的平均值。通过模块化的设计,代码被分成可重用的功能块,可以按需分别调用对应的模块,提高了代码的重用和维护。
反面例子:
所有的代码都包含在一个文件 main.py
中。虽然代码功能正常,但是没有进行模块化的拆分。这样的设计不利于代码的重用和维护。
材料推荐
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Code Complete: A Practical Handbook of Software Construction by Steve McConnell
- Python Code Style Guide (PEP 8): PEP 8 – Style Guide for Python Code | peps.python.org
- Python Best Practices: Your guide to writing better Python codeby Dan Bader
- Real Python (Python Tutorials – Real Python): 丰富的Python教程和文章,涵盖优美代码的指导原则和示例。