“创业”与“生意”的区别

//TODO

//TODO

阅读全文 »

重构是在不改变软件可观察行为的前提下改善其内部结构。

用绝对安全的手法从焦油坑中整理出可测试的接口,给它添加测试,以此作为继续重构的立足点。

阅读全文 »

Controller/Service/Model类各司其职

接口对外暴露,一组接口就是用户手中的一个遥控器,每个接口对应一个按键。用户并不关心点击按键的低层操作。
按键调用Service中的方法业务逻辑,每个业务逻辑或一组业务逻辑都涉及到或多或少的Model类。从这个角度说,Service与Model构成了外观模式。

JAVA ClassLoader

//TODO

  1. 调用第三方接口必须统一封装,必须获取所有可能的异常,最后的catch必须是 catch(Exception e) {…}
1
2
3
4
5
6
7
8
9
10
11
12
13
public Object getInfoFromOtherAPI() {
try {
//call API
} catch (SpecialException e) {
//TODO
}
...
catch (Exception e) {
//最后的catch必须捕获所有可能的异常
return null;
}

}

The higher your test coverage, the more flexible and bug-resistant your code will be, and the less time you’ll spend debugging hot fixes in production.

测试覆盖率越高,代码就越灵活,生产中调试修补程序所花费的时间就越少。

阅读全文 »