Java开发手册(三):代码风格与日志

一、代码风格

代码风格实际上就是合理使用缩进、空格、换行,目的是让代码可读性更强。大家记忆时记清楚用什么样的缩进,哪些时候使用空格,哪些时候使用换行,单行代码不要太长就可以,这部分内容通过两三次的回顾很容易养成习惯,因为是编码中最长用到的。
可参考以下代码:

public static void main(String[] args) {
    // 缩进 4 个空格
    String say = "hello";
    // 运算符的左右必须有一个空格 
    int flag = 0;
    // 关键词if/for/while/switch/do与括号之间必须有一个空格,括号内的 flag 与左括号,0 与右括号不需要空格 
    if (flag == 0) {
       System.out.println(say);
    }
    
    // 左大括号前加空格且不换行;左大括号后换行 
    if (flag == 1) {
       System.out.println("world");
    // 右大括号前换行,右大括号后有 else,不用换行 
    } else {
       System.out.println("ok");
    // 在右大括号后直接结束,则必须换行
    }
    
    StringBuffer sb = new StringBuffer();  
    // 超过120个字符的情况下,换行缩进4个空格,点号和方法名称一起换行   
    sb.append("zi").append("xin")...  
    .append("huang")...  
    .append("huang")...  
    .append("huang");
   
   // 任何二目、三目运算符的左右两边都需要加一个空格
   int result = flag == 0 ? 1 : 0;
}

下边是另外几点需要注意的:

  1. 注释的双斜线与注释内容之间有且仅有一个空格。
  2. 方法参数在定义和传入时,多个参数逗号后边必须加空格,如method("a", "b")。
  3. 没有必要增加若干空格来使某一行的字符与上一行对应位置的字符对齐。
  4. 方法体内的执行语句组、变量的定义语句组、不同的业务逻辑之间或者不同的语义 之间插入一个空行。相同业务逻辑和语义之间不需要插入空行。没有必要插入多个空行进行隔开。

二、日志

1.日志配置

主要有日志文件名称、日志输出级别、日志是否向上层传递、日志保留时间。

  1. 日志文件推荐至少保存15天,因为有些异常具备以“周”为频次发生的特点。
  2. 避免重复打印日志,浪费磁盘空间,务必在 log4j.xml 中设置 additivity=false
  3. 谨慎地记录日志。生产环境禁止输出 debug 日志;有选择地输出 info 日志;如果使 用 warn 来记录刚上线时的业务行为信息,一定要注意日志输出量的问题,避免把服务器磁盘 撑爆,并记得及时删除这些观察日志。
  4. 应用中的扩展日志(如打点、临时监控、访问日志等)命名方式:appName_logType_logName.log。logType:日志类型,推荐分类有stats/desc/monitor/visit 等;logName:日志描述。这种命名的好处:通过文件名就可知 道日志文件属于什么应用,什么类型,什么目的,也有利于归类查找。
2.日志使用
  1. 应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。
  2. 对 trace/debug/info 级别的日志输出,必须使用条件输出形式或者使用占位符的方式。
  3. 异常信息应该包括两类信息:案发现场信息和异常堆栈信息。如果不处理,那么通过 关键字 throws 往上抛出。推荐logger.error(各类参数或者对象toString + "_" + e.getMessage(), e);这种格式,不要简单的输出e.getMessage(),那样具体的错误信息都被隐藏,很不利于排查问题。
  4. 注意日志输出级别和使用场景,避免大量调试日志被生成,最近就遇到过一次在高频接口输出调试信息,忘记清理,在调用高峰拖死了tomcat;在生成环境,尽量只记录异常信息和较重要的业务信息,且控制其量。
  5. while、for循环等内部的异常需要特别注意发生异常的条件,曾经遇到过while循环从redis队列内取值(事件),redis服务宕机,结果异常日志刷爆磁盘的情况。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 5,002评论 1 13
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 4,975评论 0 6
  • 来源与:阿里云栖 禁止用于商业用途 ps:如果需要电子书 评论你们邮箱 我会发给你们 下面感觉还是有点乱 目录 一...
    小向资源网阅读 7,579评论 0 12
  • 又一次阅读阿里编程规范,发现有不少条目又给忘了,离上次阅读大概一个多月。我的阅读习惯应该还不错,每次看书籍之类的不...
    思与学阅读 3,972评论 5 3
  • 最近,陈冠希在脸书上po了一张照片,网友们又瞬间炸裂了。 天呐,当年那个一脸坏笑的小鲜肉,现在脸上已然爬上了鱼尾纹...
    腔调电影阅读 111,613评论 69 182