• 开发环境: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):编码规范相关推荐

  1. 阿里云编码规范答案_令人沮丧的答案是“我如何开始学习编码?”

    阿里云编码规范答案 by Saron Yitbarek 通过萨隆·伊特巴雷克 令人沮丧的答案是"我如何开始学习编码?" (The frustrating answer to &qu ...

  2. 阿里巴巴编码规范学习及应用

    点击 Mr.绵羊的知识星球 解锁更多优质文章. 目录 一.介绍 二.学习及应用 三.总结 一.介绍 无规矩不成方圆,无规范不能协作.近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验 ...

  3. java入职学习一之编码规范

    编码规范 好的编码规范可以尽可能的减少一个软件的维护成本,并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护. 好的编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的 ...

  4. Python学习笔记 Python概述 编码规范 输出与输入 变量 标识符

    Python学习第一天 Python的概述 1.Python的优缺点 1.1 优点: 1.2 缺点: 2.Python的编码规范 3.注释 3.Python的输出与输入 4.Python中的变量 5. ...

  5. 《阿里巴巴编码规范(JAVA)》学习认证考后感

    image.png <阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者. 本手册的 ...

  6. Java基础学习总结(92)——Java编码规范之排版、注释及命名

    为使开发人员养成良好的开发习惯,编写可读性强.易维护的程序,结合以往资料,现整理Java编码规范,将之作为开发人员的参照依据. 一.排版 1.相对独立的程序块之间必须加空行

  7. 《编码规范和测试方法——C/C++版》学习笔记 ·001

    文章目录 一.编码规范的目的 二.相关知识补充 1.32位机下C++中各变量占用的字节数 2.按位操作 三.规范事项 1.把常量放在==左边 2.按位位移操作的右操作数必须小于操作的位数 3.不要对有 ...

  8. Go 学习笔记(83)— 编码规范及常用开发技巧

    UBER 开源的 Go 语言开发规范 1. 规范指南 1.1 包名 package 的命名应该遵循如下原则: 只由小写字母组成.不包含大写字母和下划线等字符: 简短并包含一定的上下文信息.例如 tim ...

  9. python 编码规范 PEP8整理

    我是用Python的IDE:pycharm来编写Python代码的,用IDE编写代码有一个好处就是语法高亮,智能提示.Python的代码样式规范称之为PEP 8规范,每次编写代码如果有出现不符合PEP ...

最新文章

  1. windows mobile设置插移动卡没反应_ipad pro外接移动硬盘ipados
  2. Zookeeper 在Hadoop中的应用
  3. 数值方法:插值与多项式逼近
  4. nodejs服务后台持续运行
  5. 传递数组到 Shader
  6. /etc/security/limits.conf的相关说明
  7. USACO 1.5 Prime Palindromes
  8. OpenCV 使用光流法检测物体运动
  9. scroll jquery
  10. Android EditText常用属性
  11. 除了搜岛国老师的作品,以图搜图还有什么骚操作?
  12. 从HTTP的安全问题到HTTPS
  13. MongoDB实战(MongoDB开发者现身说法)
  14. 全文搜索引擎solr使用说明
  15. 关于checkbox的removeClass属性
  16. 流式处理术语解释:Exactly-once与Effectively-once
  17. MIT 操作系统实验 MIT JOS lab1
  18. 2022 上半年 FDA 小分子药物盘点 - MedChemExpres
  19. 读书笔记-企业的股权结构
  20. 比前途,还是嵌入式开发比软件开发更胜一筹

热门文章

  1. java忽略转移i字符_Java。 比较字符串时忽略重音
  2. 思岚科技发布最新中小型机器人开发平台Apollo
  3. 户外电源品牌之间比较的是什么?
  4. 王者荣耀服务器ip地址配置文件,王者荣耀,关于设置的一些小技巧,知道以后你也是大神...
  5. 遥感影像 全色 多光谱
  6. matlab空间重采样,matlab重采样函数
  7. 库卡机器人编程权限_库卡机器人编程之BAS程序
  8. easy-table-vue+VueJs、SpringBoot+Mybatis实现MVVM模型前后台数据交互
  9. Unity Application Block 1.2 学习笔记
  10. Diocp学习笔记 3、服务端连接、发送、接收(以实际例子记录)(DELPHI 通讯框架)