何为代码优雅?

What

各层间耦合度极大程度上的降低,封装性好,扩展性极好(尽量更新最少的代码)。

Spring AOP就是经典的代表:我们只管写dao方法,service方法,不需要关心在哪边commit哪边rollback何时connection,spring的声明式事务会帮我们负责,这种风格我们称为“优雅”。

How

如何实现代码优雅?

1. 前端 HTML 和 js 解耦

2. 后端

  • 封装
  • 代码逻辑连贯
  • 避免过度封装

Java 代码 写法格式

核心目标:逻辑清晰  代码直观

  • 优雅的代码看起来就像是一些整整齐齐,套在一起的盒子
  • 相对独立的程序块之间、变量说明之后必须加空行。
  • 局部变量应该尽量接近使用它的地方
  • if条件并列
表示并列关系  
if (someLongCondition1() &&
       someLongCondition2() &&
       someLongCondition3() &&
       someLongCondition4()) {
     ...
   }
  • 用if替换逻辑符号
if (action1() || action2() && action3()) {
  ...
}


替换成

if(!action())
{
    if(action2())
    {    
        action3();
    }
}

如果action1()失败了,那么执行action2(),如果action2()成功了,执行action3()
  • 合理使用括号
  • 2 << 7 - 2 * 3
    
    应写成2 << (7 - 2 * 3)

     

  • try { … } catch里面,应该包含尽量少的代码

try {
  foo();
  bar();
} catch (A e) {...}

替换成

try {
  foo();
} catch (A e) {...}
try {
  bar();
} catch (A e) {...}
  • 不要catch NullPointerException

void foo() {
  String found = find();
  int len = found.length();
  ...
}

try {
  foo();
} catch (Exception e) {
  ...
}

替换成

void foo() {
  String found = find();
  if (found != null) {
    int len = found.length();
    ...
  } else {
    ...
  }
}
  • 不要过度考虑未来
    • 先把眼前的问题解决掉,解决好,再考虑将来的扩展问题。
    • 先写出可用的代码,反复推敲,再考虑是否需要重用的问题。
    • 先写出可用,简单,明显没有bug的代码,再考虑测试的问题

摘自http://www.yinwang.org/blog-cn/2015/11/21/programming-philosophy

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值