Kotlin学习(4):编码规范
- 开发环境:IntelliJ IEDA
- 个人博客:http://blog.csdn.net/IInmy
- 项目源码:https://github.com/Rushro2m/KotlinForOfficial
- 官方文档中文版:https://www.kotlincn.net/docs/reference/coding-conventions.html
1、命名风格
Kotlin一般默认使用Java的编码规范
- 使用驼峰式命名(避免命名含有下划线)
- 类型名以大写字母开头
- 方法和属性以小写字母开头
- 使用4个空格缩进
- 共有函数应撰写函数文档,这样这些文档才会出现在Kotlin Doc中
//驼峰命名
val lastName = "张三"//类名或接口,大写开头
interface Foo<out T : Any> : Bar {//...
}interface Bar {//...
}//方法名小字母开头,遵循驼峰式命名
fun foo(a: Int){}
2、Lambda表达式
- 在Lambda表达式中, 大括号左右要加空格,分隔参数与代码体的箭头左右也要加空格 。
- Lambda表达应尽可能不要写在圆括号中。
- Lambda中一般使用it代替对象
fun main(args: Array<String>) {val list = listOf(9, 10, 11, 12, 13)val a = list.filter { it > 10 }.map { it -> it * 2 }println(a.forEach { print("$it--") })
}
3、类头格式化
具有较长类头的类应该格式化
- 每个主构造函数参数位于带有缩进的单独一行中。
- 右括号应该另起一行。
- 使用继承时,那么超类构造函数调用或者实现接口列表 应位于与括号相同的行上。
- 对于多个接口,应首先放置超类构造函数调用,然后每个接口应位于不同的行中。
- 构造函数参数可以使用常规缩进或连续缩进(双倍的常规缩进)。
class People(id: Int,name: String,surname: String
) : Human(id, name),Bar {//...
}
4、Unit
一般而言,如果函数返回Unit,也就是没有返回值,这种情况下,Unit是直接省略的。
//带有Unit
fun foo() : Unit{}//省略掉Unit
fun fzz(){}
5、函数还是属性
很多场合无参的函数可与只读属性互换,尽管语义相近,也有一些取舍的风格约定,底层算法优先使用属性而不是函数。
这样做的好处:
- 不会抛异常
- O(1)复杂度
- 计算廉价(或缓存第一次运行)
- 不同调用返回相同结果
Kotlin学习(4):编码规范相关推荐
- 阿里云编码规范答案_令人沮丧的答案是“我如何开始学习编码?”
阿里云编码规范答案 by Saron Yitbarek 通过萨隆·伊特巴雷克 令人沮丧的答案是"我如何开始学习编码?" (The frustrating answer to &qu ...
- 阿里巴巴编码规范学习及应用
点击 Mr.绵羊的知识星球 解锁更多优质文章. 目录 一.介绍 二.学习及应用 三.总结 一.介绍 无规矩不成方圆,无规范不能协作.近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验 ...
- java入职学习一之编码规范
编码规范 好的编码规范可以尽可能的减少一个软件的维护成本,并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护. 好的编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的 ...
- Python学习笔记 Python概述 编码规范 输出与输入 变量 标识符
Python学习第一天 Python的概述 1.Python的优缺点 1.1 优点: 1.2 缺点: 2.Python的编码规范 3.注释 3.Python的输出与输入 4.Python中的变量 5. ...
- 《阿里巴巴编码规范(JAVA)》学习认证考后感
image.png <阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者. 本手册的 ...
- Java基础学习总结(92)——Java编码规范之排版、注释及命名
为使开发人员养成良好的开发习惯,编写可读性强.易维护的程序,结合以往资料,现整理Java编码规范,将之作为开发人员的参照依据. 一.排版 1.相对独立的程序块之间必须加空行
- 《编码规范和测试方法——C/C++版》学习笔记 ·001
文章目录 一.编码规范的目的 二.相关知识补充 1.32位机下C++中各变量占用的字节数 2.按位操作 三.规范事项 1.把常量放在==左边 2.按位位移操作的右操作数必须小于操作的位数 3.不要对有 ...
- Go 学习笔记(83)— 编码规范及常用开发技巧
UBER 开源的 Go 语言开发规范 1. 规范指南 1.1 包名 package 的命名应该遵循如下原则: 只由小写字母组成.不包含大写字母和下划线等字符: 简短并包含一定的上下文信息.例如 tim ...
- python 编码规范 PEP8整理
我是用Python的IDE:pycharm来编写Python代码的,用IDE编写代码有一个好处就是语法高亮,智能提示.Python的代码样式规范称之为PEP 8规范,每次编写代码如果有出现不符合PEP ...
最新文章
- windows mobile设置插移动卡没反应_ipad pro外接移动硬盘ipados
- Zookeeper 在Hadoop中的应用
- 数值方法:插值与多项式逼近
- nodejs服务后台持续运行
- 传递数组到 Shader
- /etc/security/limits.conf的相关说明
- USACO 1.5 Prime Palindromes
- OpenCV 使用光流法检测物体运动
- scroll jquery
- Android EditText常用属性
- 除了搜岛国老师的作品,以图搜图还有什么骚操作?
- 从HTTP的安全问题到HTTPS
- MongoDB实战(MongoDB开发者现身说法)
- 全文搜索引擎solr使用说明
- 关于checkbox的removeClass属性
- 流式处理术语解释:Exactly-once与Effectively-once
- MIT 操作系统实验 MIT JOS lab1
- 2022 上半年 FDA 小分子药物盘点 - MedChemExpres
- 读书笔记-企业的股权结构
- 比前途,还是嵌入式开发比软件开发更胜一筹
热门文章
- java忽略转移i字符_Java。 比较字符串时忽略重音
- 思岚科技发布最新中小型机器人开发平台Apollo
- 户外电源品牌之间比较的是什么?
- 王者荣耀服务器ip地址配置文件,王者荣耀,关于设置的一些小技巧,知道以后你也是大神...
- 遥感影像 全色 多光谱
- matlab空间重采样,matlab重采样函数
- 库卡机器人编程权限_库卡机器人编程之BAS程序
- easy-table-vue+VueJs、SpringBoot+Mybatis实现MVVM模型前后台数据交互
- Unity Application Block 1.2 学习笔记
- Diocp学习笔记 3、服务端连接、发送、接收(以实际例子记录)(DELPHI 通讯框架)