Erlang语言规范

2018-09-15  本文已影响0人  拉德

保持一样的代码风格

1. 变量名(大小写, 命名方式)

    ID vs Id, UserId Vs Uid

2. 空格位置

    {a, b, c} VS {a,b,c}

3. 其他

* 驴非驴,马非马

不要用export_all

高度封装

有利于代码优化及重构

* default环境下不用export_all便于发现问题,线上开启export_all便于调用函数

不要用import

可读性差

不能区分内部函数和外部函数

不利于代码跳转

* BIF除外

减少嵌套

三层嵌套以上,代码可读性差

Tips:

  拆成小函数

  Pipe方式-统一输入输出

  崩溃方式 + badmatch方式

尽量不要用进程字典

大部分书都教育我们不要用进程字典,有副作用

put(X) 并没有指定进程,也许你正在给gen_server的进程put而不是玩家进程

尽量使用Specs

1. 增强可读性 否则调用者主要靠猜

2. 有利于暴露错误

3. 参与dialyzer分析

* 起码写个注释

注释格式

模块注释 %%%

函数注释  %%

行注释      %

不用保留旧代码

删除旧代码,而不是保留

如果想查阅旧代码,可以通过版本管理工具

写有确定性的函数

不要在check函数里面执行副作用操作,比如修改ETS

Do undo 在同一段代码里面

比如open和close文件

* 一段代码的意思是,一个函数。open放主函数,close放子函数都不行,必须也在主函数

不应有debug的代码,比如io:format

没有意义

消耗处理时间

使用lager:debug 线上level等级调整为info

上一篇下一篇

猜你喜欢

热点阅读