In" Clean Code"罗伯特·C·马丁(Robert C. Martin)的书有很好的提示,可以根据他们的调用对方法进行排序,如下所示:
void e() {
a();
b();
c();
}
void a() { /*implementation*/ }
void b() {
d();
}
void d() { /*implementation*/ }
void c() { /*implementation*/ }
这有很大的优势:
是否有任何插件或其他方式自动排序?因为一旦我写了更大的课程,手动重新排序会花费很多时间,而不是说代码更新。
答案 0 :(得分:0)
就我个人而言,我不建议这样做。
为什么呢?假设您的代码看起来像您问题中的那个。
void e() {
a();
b();
c();
}
void a() { /*implementation*/ }
void b() {
d();
}
void d() { /*implementation*/ }
void c() { /*implementation*/ }
现在进行了少量代码更改,a()
也调用d()
。然后按照您的示例,代码现在看起来像
void e() {
a();
b();
c();
}
void a() {
d();
}
void d() { /*implementation*/ }
void b() {
d();
}
void c() { /*implementation*/ }
这会导致您的代码审核人员必须检查以下更改。
@@ -4,12 +4,14 @@ void e() {
c();
}
-void a() { /*implementation*/ }
-
-void b() {
+void a() {
d();
}
void d() { /*implementation*/ }
-void c() { /*implementation*/ }
+void b() {
+ d();
+}
+
+void c() { /*implementation*/ }
所以他必须检查其他更改,实际上没有代码更改。