作为Objective-C编码器,我已经习惯了描述性的方法名称,如
[car insertFuelWithAmount:fuelAmount
type:fuelType
causesCarToSelfDestruct:NO];
Run Code Online (Sandbox Code Playgroud)
大多数程序员如何在C++中命名相应的方法?我有两个问题:
我的"C++ Primer"副本,第4版,提到(第46页),这gosh_this_is_an_impossibly_long_name_to_type是一个"非常糟糕的标识符名称".这与Objective-C中的心态不同,后者鼓励非常具有描述性的名称,即使它们很长.为什么C++程序员不喜欢长篇文章?
也许这不仅仅是盲目迁移,而是完全改变一个人的心态?如果是这样,需要做出哪些改变?
如果你不介意的话,请随意让自己的一些进一步的想法浮出水面.(我知道这不是一般性和模糊问题的论坛.因此,我试图在上面做一些更具体的事情.)
正如费尔南德斯指出的那样,你需要找到各种各样的平衡点.但请记住,这完全取决于品味,尽管大多数C++程序员都会选择较短但有些描述性的方法名称.
对于任何事情,使用极长的名称是不可取的,因为代码将变得几乎不可读.我个人觉得这对我的程序员来说非常令人不安.
当然,语言是不同的,但过渡阶段的重点是删除无关的名称.跟你上面的方法一样.我注意到Obj-C程序员在这里和那里使用"WithSomething"扩展.这里要改变的一件事是通过使用重载来摆脱它们.
您描述的方法我可能会这样写:
car.insertFuel<int>(amount, false);
Run Code Online (Sandbox Code Playgroud)
如果假设一定量的燃料是整数形式.