过时的7种编码风格是什么
导读:本文共3837字符,通常情况下阅读需要13分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 1. 使用m或this表示成员变量规则:要区分成员变量和局部变量,请使用以下任一方法使用匈牙利表示法,即 mMemberVariable 与 localVariable。其中 m 代表成员变量。this 的使用,即 this.memberVariable 与 localVariable。过时的原因原因是当我们阅读代码时,可以很容易地知道它们是成员变量还是局部变量... ...
目录
(为您整理了一些要点),点击可以直达。1. 使用m或this表示成员变量
规则:要区分成员变量和局部变量,请使用以下任一方法
使用匈牙利表示法,即 mMemberVariable 与 localVariable。其中 m 代表成员变量。
this 的使用,即 this.memberVariable 与 localVariable。
过时的原因
原因是当我们阅读代码时,可以很容易地知道它们是成员变量还是局部变量,而无需查看它们的声明。
classMyClass{varmMember="member"fundoSomething(){vallocal="local"println(this.mMember)println(local)}}
现在
如果是现代IDE,则不再需要这种基于文本的区分,参见下面的相同代码,它将自动为它们涂上不同的颜色。
2. 始终明确声明public,protected或private
规则:一个类中的所有变量和函数都必须明确声明为public,private 或 protected。不要采用默认状态。
需要明确说明类型,例如 String 或 Int
需要明确说明它是 private 还是 public
publicclassMyClass{publicvalpublicVariable:String="100"privatefunprivateFunction(){}publicfunpublicFunction(){}}
过时的原因
这是为了避免有人错误地访问这些函数或变量,即,如果未声明函数,则用户可能不知道默认状态(如果是公共状态或私有状态)。
现在
在现代IDE中,我们不需要显式地声明默认值,例如Kotlin是 public。用户不会无意中误认为默认状态,因为自动完成只会显示public 方法。因此,不太可能有人会混淆默认状态。
如果有任何错误的用法(例如访问私有函数),它不会在编译时才出错。它会立即出错,并给出明确的信息。
3. 始终明确声明变量类型
规则:所有的变量都应该用其类型来声明,即使它的值很清楚,例如,需要明确地说明类型,如 String 或 Int。
publicclassMyClass{publicvalpublicVariable:String="100"privatefunprivateFunction(){}publicfunpublicFunction(){}}
过时的原因
这是为了避免有人错误地访问这些函数或变量,例如变量分配给错误的类型,并导致编译错误。
现在
如果使用现代编程语言,则在可推断且明确的情况下,无需显式声明变量的类型。这就是所谓的类型推理,在今天的许多现代语言中它都是可用的。
如果有任何错误的分配等,它不会在编译时才出错。它会立即出错,并有一个清晰的信息。
4. 成员变量应始终为私有
规则:所有成员变量都应该是私有的,通过getter和setter访问,适用于需要从外部设置或获取的成员变量。
publicclassMyClass{privatevarmember="member";publicfungetMember():String{returnmember;}publicfunsetMember(value:String){member=value;}}
过时的原因
如果我们将其公开以进行setting和getting,在setting或getting时我们需要执行一些操作,我们需要改变所有访问它的代码。
因此,如果我们限制使用getter和setter,则可以控制它。
classMyClass{privatevarmember="member";fungetMember():String{println("Settingmember")returnmember;}funsetMember(value:String){println("Settingmemberwith$value")member=value;}}
现在
在现代语言(例如Kotlin)中,我们可以在需要时轻松地将变量getter或setter插入变量,而无需显式地设置和获取两个不同的函数。
因此,我们可以按以下方式进行编码,而无需在类中添加附加的setter和getter函数。
classMyClass{varmember="member"}
当我们需要对setter或getter进行操作时,我们可以轻松地添加它们,而无需更改访问 member 的代码。
classMyClass{varmember="member"get():String{println("Settingmember")returnfield}set(value:String){println("Settingmemberwith$value")field=value}}
5. 开始和结束大括号应对齐
规则:所有大括号应在同一列对齐,以便我们可以轻松找到它们,例如
classMyClass{privatevarmember:String="member"fundoSomething(state:Boolean){vallocal="local"println(member)println(local)}}
过时的原因
原因是通过纵向观察,我们可以很容易地找到它们的对,从而知道函数的范围在哪里。
现在
使用新的IDE,只要代码看起来很整洁,我们就不再需要在同一列上对齐开始和结束大括号。
classMyClass{privatevarmember:String="member"fundoSomething(state:Boolean){vallocal="local"println(member)println(local)}}
这是因为我们可以轻松折叠或扩展它们,如下所示。
6. 所有缩进都使用tab键
规则:对所有缩进使用tab,而不要使用空格
过时的原因
这减少了所需的键入次数,如下所示,当你使用空格时,你需要多次输入
现在
使用IDE,它将为我们自动缩进适当数量的空格。拥有空格还将确保所有代码在整个用户环境中看起来都一致。
7. 使用分号结束代码语句
规则:在结束代码语句时,必须使用分号。
过时的原因
这是必需的,因为从前的编程语言(包括C和C ++,Java等)使解析器识别它已经结束。
现在
使用新的现代语言(例如Kotlin),不再需要编写长语句(例如,我们可以将变量命名为更短,缩进的缩进形式)。
最后
通过改变对上述7种编码样式的信念,我对代码进行了如下更改:
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
过时的7种编码风格是什么的详细内容,希望对您有所帮助,信息来源于网络。