Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 编码时,记录、注释和测试用例的正确平衡是什么?_Python_Logging_Comments_Code Coverage - Fatal编程技术网

Python 编码时,记录、注释和测试用例的正确平衡是什么?

Python 编码时,记录、注释和测试用例的正确平衡是什么?,python,logging,comments,code-coverage,Python,Logging,Comments,Code Coverage,我在编写代码时注意到的一点是,注释、日志记录和编写测试用例会使我脱离当前的流程,并降低我的编码速度。所以我想知道我是否做得太多/太多了。如果我使用的是调试记录器,是否存在记录太多内容的情况?另外,是否有办法使输出日志文件的颜色协调一致,以便我可以轻松找到值与预期值不符的问题/位置?还有,我应该评论所有的事情,还是只是在某些地方解释我为什么要做某事?最后,我应该为什么制作测试用例?它是每一个if语句还是每一个函数 以这段代码为例: def parse_data(raw_): # Assum

我在编写代码时注意到的一点是,注释、日志记录和编写测试用例会使我脱离当前的流程,并降低我的编码速度。所以我想知道我是否做得太多/太多了。如果我使用的是调试记录器,是否存在记录太多内容的情况?另外,是否有办法使输出日志文件的颜色协调一致,以便我可以轻松找到值与预期值不符的问题/位置?还有,我应该评论所有的事情,还是只是在某些地方解释我为什么要做某事?最后,我应该为什么制作测试用例?它是每一个if语句还是每一个函数

以这段代码为例:

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”%(原始、解析的输出))
。要获得额外的学分,请查看预打印。但是,不,太多的注释和日志记录会花费太长的时间来编写,并使您的代码难以阅读。