我已经开始更加关注我正在创建的差异文件(使用 git),我对这种情况产生的差异的清晰度感到不满。
我开始:
sub main {
my $self = shift;
return $self;
}
然后我添加第二个函数并在第一个函数中调用它以获得:
sub main {
my $self = shift;
$self -> process ( 'hello world!' );
return $self;
}
sub process {
my $self = shift;
print @_, "\n";
return $self;
}
我得到的差异输出是:
@@ -1,5 +1,15 @@
sub main {
my $self = shift;
+ $self -> process ( 'hello world!' );
+
+ return $self;
+}
+
+sub process {
+ my $self = shift;
+
+ print @_, "\n";
+
return $self;
}
这对我的读者来说似乎很不整洁和不清楚。大量添加使我看起来像是在“主”函数中添加了很多行,而实际上我实际上在它之后添加了很多行。例如,我希望/喜欢差异是这样的:
@@ -1,5 +1,15 @@
sub main {
my $self = shift;
+ $self -> process ( 'hello world!' );
+
return $self;
}
+
+sub process {
+ my $self = shift;
+
+ print @_, "\n";
+
+ return $self;
+}
我理解为什么 diff 会创建此输出(从“a -> b”开始的最简单方法),但希望它可以更清晰。这可能吗?或者我是否正在考虑手动编辑差异,甚至将新功能的添加和对它的调用分成 2 个单独的补丁/提交?[1]
我试过使用--no-minimal、--patience 和--histogram 算法,但差异结果是相同的。使用 'git add -p' 手动编辑差异没有任何区别,它仍然作为第一个“不清楚”差异进行阶段。
[1] 作为一个附带问题,这种分离是我无论如何都应该做的事情吗?