相关疑难解决方法(0)

什么时候功能太长了?

35线,55线,100线,300线?什么时候应该开始分手?我问,因为我有60行(包括评论)的功能,并且正在考虑将它分开.

long_function(){ ... }
Run Code Online (Sandbox Code Playgroud)

成:

small_function_1(){...}
small_function_2(){...}
small_function_3(){...}
Run Code Online (Sandbox Code Playgroud)

这些函数不会在long_function之外使用,因为较小的函数意味着更多的函数调用等.

你什么时候将一个函数拆分成更小的函数?为什么?

  1. 方法应该只做一个逻辑事情(考虑功能)
  2. 你应该能够用一句话来解释这个方法
  3. 它应该适合您的显示器的高度
  4. 避免不必要的开销(注释明显的评论......)
  5. 对于小型逻辑功能,单元测试更容易
  6. 检查部分函数是否可以被其他类或方法重用
  7. 避免过多的类间耦合
  8. 避免深层嵌套的控制结构

谢谢大家的答案,编辑列表并投票给出正确的答案,我会选择那个;)

我现在正在重构这些想法:)

refactoring coding-style function

125
推荐指数
11
解决办法
5万
查看次数

良好的练习班级计数

我知道这个问题没有正确的答案,我只是在征求你的意见.

我知道用千行代码创建巨大的类文件并不是一个好习惯,因为它很难维护,而且通常意味着你应该检查你的程序逻辑.

在您看来,类似于Java的平均行数(我不知道语言的选择是否与它有关,但以防万一...)

code-size

18
推荐指数
5
解决办法
5210
查看次数

在C#中,应该考虑在类之前多少行重构?

一个好的经验法则是我智能地重构超过50行的任何方法.

计数不包括注释和空格,而是实际代码.我之所以聪明地说,有很多时候,超过50行的课程是可以接受的,不能或不应该改变.

我对课程没有经验法则.一般来说,我不检查类是否应该重构.

在我目前的项目中,我刚刚完成了一个近4000行的课程.然而,没有超过50的方法,并且大多数行和方法是私有的,并且不对类外的任何数据起作用.

重构类的经验法则是什么?

c# refactoring class

17
推荐指数
4
解决办法
1万
查看次数

这在C#中是否有可能:if(a == b == c == d){...}

有没有快速的方法来比较C#中多个值的相等性?

something like:

if (5==6==2==2){

//do something

}
Run Code Online (Sandbox Code Playgroud)

谢谢

c# comparison equality operators

6
推荐指数
4
解决办法
6650
查看次数