Python 编码时,记录、注释和测试用例的正确平衡是什么?
我在编写代码时注意到的一点是,注释、日志记录和编写测试用例会使我脱离当前的流程,并降低我的编码速度。所以我想知道我是否做得太多/太多了。如果我使用的是调试记录器,是否存在记录太多内容的情况?另外,是否有办法使输出日志文件的颜色协调一致,以便我可以轻松找到值与预期值不符的问题/位置?还有,我应该评论所有的事情,还是只是在某些地方解释我为什么要做某事?最后,我应该为什么制作测试用例?它是每一个if语句还是每一个函数 以这段代码为例:Python 编码时,记录、注释和测试用例的正确平衡是什么?,python,logging,comments,code-coverage,Python,Logging,Comments,Code Coverage,我在编写代码时注意到的一点是,注释、日志记录和编写测试用例会使我脱离当前的流程,并降低我的编码速度。所以我想知道我是否做得太多/太多了。如果我使用的是调试记录器,是否存在记录太多内容的情况?另外,是否有办法使输出日志文件的颜色协调一致,以便我可以轻松找到值与预期值不符的问题/位置?还有,我应该评论所有的事情,还是只是在某些地方解释我为什么要做某事?最后,我应该为什么制作测试用例?它是每一个if语句还是每一个函数 以这段代码为例: def parse_data(raw_): # Assum
def parse_data(raw_):
# Assume raw is a dict
parsed_output = dict()
for i in raw_.keys():
if i["type"] == "child":
parsed_output[i] = {"type": "Student"}
else:
parsed_output[i] = {"type": "Teacher"}
if 14 <= i["age"] <= 19:
parsed_output[i]["division"] = "High School"
elif 11 <= i["age"] < 14:
parsed_output[i]["division"] = "Middle School"
elif i["age"] < 11:
parsed_output[i]["division"] = "Elementary"
else:
parsed_output[i]["division"] = "Staff"
parsed_output[i]["name"] = i["name"]
return parsed_output
def解析数据(原始数据):
#假设raw是一个dict
已解析的_输出=dict()
对于原始密钥()中的i:
如果i[“type”]=“child”:
解析的_输出[i]={“类型”:“学生”}
其他:
已解析的_输出[i]={“类型”:“教师”}
如果14@KevinMGranger在引用其他网站时表示愤怒,那么指出这一点通常是有帮助的。。关于广泛的和观点性的问题,请参见而不是#假设raw是一个dict
,您可以断言isinstance(raw,dict)
。在python中,类型测试是不受欢迎的,但在初始编码中可能会有所帮助。另外,在解析的输出[i]
周围有大量的干货。在for循环下执行类似于parsed_output[i]=mydict={}
的操作,然后可以执行类似于mydict[“type”]=“Student”)
的操作。您可以在最后使用一个logger.debug(“解析数据(%s)=>%s”%(原始、解析的输出))
。要获得额外的学分,请查看预打印。但是,不,太多的注释和日志记录会花费太长的时间来编写,并使您的代码难以阅读。