下面的几种反模式, 是我在带团队时发现的最常见错误. 希望对大家有用.
看起来很简单, 但是如果能避免的话, 你的代码的读者(90%情况下是你自己)会特别感谢你的! !
下面的sum函数中的参数完全是误导
a =1;
b = 2
function sum(c,d) { // c, d这两个参数完全没用上.
return a + b // 这个变量存在于方法外,要慎用!
}
例如,我要发起一个 ajax 请求, 正常的写法是:
$.get('some_url', function(){
console.info( '操作成功');
})
绝对不要写成:
$.get('some_url')
setTimeout(function(){
console.info("操作成功");
}, 1000)
因为你无法判断在什么时刻你关注的函数被执行完了。
常见于所有没有参与过开源项目的程序员.
似乎缩写之风盛行,是源于C语言。据说当年的编译器最多支持变量的长度是8。所以: homework1
跟 homework2
居然是一个变量。 这太反人类了。
management
不要写成mng
,implement
不要写成impl
宁可用拼音,也不要用没把握的英文来命名
房屋:
house
?room
?fitment
? 当你都拿不准的时候,直接用拼音。fang_wu
- 一个比较有特色的词: 客餐厅 。 直接翻译成:
ke_can_ting
英语里没有这个词.
重构前,5个参数:
function(a,b,c,d,e) {
}
重构后,一个参数:
function(options){
a = options.a ; b = options.b;
}
最后, 推荐几本书:
<<实现模式>> 告诉你如何写实现.
<<Code complete>>: 如何写出规范的格式.
<<重构>>: 如何把烂代码改成优良的代码.