方法行数量。清洁代码

时间:2011-05-25 10:56:22

标签: c#

使用方法的最佳线数是多少? 花括号不算数。 什么代码更好?代码在Main()中运行 //第一

string line;
            while ((line = Console.ReadLine()).ToLower() != Break)
            {
                commandAnalyzer.AnalyzeAndRun(line);
            }

//或第二

 RunTextualInterface(commandAnalyzer);

    private static void RunTextualInterface(TextCommandAnalyzer commandAnalyzer)
    {
        while (notBreakCommand())
        {
            analyzeCommandWithHelpOf(commandAnalyzer);
        }
    }

    private static void analyzeCommandWithHelpOf(TextCommandAnalyzer commandAnalyzer)
    {
        commandAnalyzer.AnalyzeAndRun(readNewLine());
    }

    private static bool notBreakCommand()
    {
        return readNewLine() != Break;
    }

    private static string readNewLine()
    {
        return Console.ReadLine().ToLower();
    }

//结果一样 P.S我问老师说每个方法必须有最多6行。(卷曲括号不算数)

3 个答案:

答案 0 :(得分:2)

我认为在这种情况下,第一种方法会更好。当所涉及的逻辑不是太复杂而且不是那么大而应该是一个单独的方法时,太多的方法会降低可读性。如果该逻辑必须也被程序的其他部分使用,那么制作不同的方法也是有意义的。但是,由于这些方法非常小,在这种情况下制作单独的方法对我来说甚至没有意义

答案 1 :(得分:1)

您希望在不降低可读性的情况下减少需要维护的代码量。我喜欢你的第一个答案。阅读Steve Yegge,了解代码大小为Code's Worst Enemy

努力保持代码的读者所需的一切,以便尽可能地了解您的代码。在他们帮助的地方使用抽象(例如重构方法)。避免抽象(例如为读者已熟悉的操作创建新名称),但这些抽象没有帮助。

关于方法大小的各种规则:它们不是规则。它们是指导方针。每当你的方法太长时,停止。这可能是糟糕设计的标志。但它不一定是 - 使用规则来触发仔细查看代码。

培养时尚感。随着您的进步,这将一直在变化。不要害怕一直更新你的风格 - 尽管在项目期间尽量保持相同的风格。尝试不同的风格,获得经验。这是唯一真正的道路。

答案 2 :(得分:0)

如果您对这类问题感兴趣,我建议您阅读:

Code Complete 2nd Edition

这本书有一章关于:

“创建高质量代码” - > “例行公事能持续多久?”