c++ 请抛弃匈牙利命名法 - 变量命名代码风格的建议。

我只针对c++码农们讲,其余语言不了解不过应该大同小异。曾几什么时候翻开21天学通c++系列等脑残入门书,都以匈牙利命名法示人(DWORD dwXXX, int nXXX, string strXXX)。
如今我能够负责任的告诉你,把类型名写在前面''''''''''用都没有,对你没看错,就是这么坚定。缘由以下:c++

1.现代的编译器早已经能够明显看出任意变量的类型,你把类型写在前面除了增长代码长度外没有任何好处。
2.真正的匈牙利命名法,是要spa

 

标注变量的种类(kind)而不是类型(type)编译器

 

这有很大区别。举例:int door_width 代表这是门的宽度,而int nWidth狗屁都不是!写明种类有何好处呢?其中一大好处就是能够明显的看出错误而且使得代码更易读。举例:门宽:int door_width, 车长度:int car_length.当你写以下代码- int door_area = door_width * car_length; 这句代码本意是计算门的面积,可是当你看到代码,用door_width × car_length明显看出car和door不是一个种类,很容易看出错误。而若是你用nWidth × nLength那么恭喜你,除了能看出来类型是个int型以外,你狗屁错误也看不到。这点在代码不少很长的时候尤为突出。string

因此,若是使用匈牙利命名法,请理解他的本意,是kind不是type!固然若是有人变态到把类型种类都写上我只能说你应该换个60吋显示器才能看全代码了。编译

相关文章
相关标签/搜索