编码时记录,评论和测试用例的正确平衡是什么?

时间:2017-07-07 20:24:00

标签: python logging comments code-coverage

我在编写代码时注意到的一件事是注释,记录和编写测试用例会使我处于流入的任何流程中并降低编码速度。所以我想知道我是否做得太多/超过必要。如果我使用的是调试记录器,那么记录TOO的东西是不是很多?此外,有没有办法使输出日志文件颜色协调,以便我可以轻松找到价值不是我所期望的问题/地方?此外,我应该评论一切或只是某些地方解释我为什么做某事?最后,我应该为测试用例做什么?它是每一个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

如果在Student中发现High School,我是否应该在每次添加日志行后添加?或者我应该放一条调试线来说明原始人员中发现的人数,之后会说出在高中,初中,小学和员工中找到的人数?对于测试用例,我应该为此函数中的每个if语句写一个,还是作为一个整体的函数?此外,对于这样的功能,您是否有单独的文件用作&#34;测试数据&#34;和预期的产出?最后,在这个函数中,我应该在每个if块之前发表评论,或者只在第一个parsed_output之前发表评论,以解释我在parsed_output[i]创建字典的原因是为了避免索引错误?

0 个答案:

没有答案