有句话常说,细节决定成败,可是细节在哪里呢?咱们又要怎样来寻找这些细节呢?javascript
其实这些都是习惯养成的,前端
你说一个有洁癖的人,也不是天生的,他只是平时很注意卫生,因此慢慢地就养成了所谓的洁癖java
那么咱们作开发的人,其实就应该养成一些开发的习惯,,,,甚至是洁癖jquery
由于我拿手的是javascript,因此如下的案例我就以js为例,一步一步地说c++
1.注意开发的模块化区分git
说到模块发开发,有不少新手可能会比较懵逼,以为这不重要,错!!!!!web
其实这对于新手来讲才是最重要的,为何呢?ajax
虽然这没有什么硬性的要求,可是这会很方便你的后期debug数据库
下面咱们举个简单的例子异步
在一个web项目中,我有三张页面,分别是home,nav,detail
若是这个目录按照我这样的格式来写,是否是后期调试找页面的时候,不会找的很累呢?
固然这也不是硬性要求的,仍是看你本身怎么来安排,毕竟你要为你之后的debug负责
2.命名
这个其实要仔细拿来讲,其实须要很长的篇幅来解释,
可是在这里,我就提一点,那就是语义化
什么叫语义化?
function func1(){ //add list } function func2(){ //delete list }
在没有看到方法里面的注释以前,我是彻底不知道这个func1和func2是干什么用的
在看下面这个
function addList(){ //add list } function deleteList(){ //delete list }
这两个方法,我甚至不须要看方法里面的内容,我就知道它是用来作什么事的,
这样就减小了不少多人开发会致使的问题,
在命名的这一点上,英语好的固然是会占点优点,可是这不是关键,
英语很差你能够翻字典啊,
3.初始化变量时,在后面加上一个默认值
不论是前端仍是服务端,总会遇到要接别人数据的时候,
而后这个时候最大的问题就是传数据的那一方,若是改变了哪个字段,或者是忘记传了哪一个值,
使得变量出现了空值的现象,而这种空值可能会致使整个项目直接崩掉,就彻底跑不下去了
那这个时候怎么办呢?
$.get('/getData',function(results){ var myData = results.data || {}; })
这是一个简单地获取ajax数据的方法,此时我就能够保证myData这个变量绝对不会出现undefined这种现象,
固然jquery里面原本就有很好的异步处理,所以不会出现空值的状况,可是咱们在本身开发的时候,也不能不考虑这种现象
尤为是在会出现同步阻塞的状况,必定不能忘记这种状况
4.代码提交
不少公司都是把代码利用svn或者是git存放在远程仓库中的,
那么咱们在平时开发的时候就要注意,点滴式提交
什么意思呢?
就是每当咱们完成一个功能,修复一个bug,新增一个需求等等操做的时候,
就向远程仓库进行一次提交,为何要这么作呢?
仍是为了咱们更好地debug,这样能够很清晰地找到问题所在,也能够减小不少将来debug的时间
5.解决了问题不要就这么过去了,要作好笔记
有不少的朋友曾经向我提起过,
我作这行三四年了,感受没什么收获啊,
前端就是天天切切页面,写写脚本,作作渲染
服务端就是增删改查,操做一下数据库
彻底不知道本身几年来干了什么?
其实我就想问,作这行这么几年,你就真的一次都没有遇到过问题?每次页面都是一次切完?每次增删改查都是一次成功?
积累都是从一点一滴开始的,哪怕是再简单的字母拼写错误,那也是一个坑,
这样之后你在遇到这个问题的时候,翻翻笔记就能够跨过这个坑了,提升的开发效率是你没法想象的
6.写一些尽可能能让人看懂的代码
最后一点,也是最难的一点,
知道福尔摩斯身边为何有个华生嘛? 就是由于华生是个普通人,他思考的方式都是以常人的角度来的,每每有时候一些很日常的点,是最难让人发现的
什么叫作化腐朽为神奇.....
互联网产品的最完美形态,就应该是一个傻瓜都能操做的产品,不须要教程,不须要模板,一上手就可使用,那样才是最完美的
因此咱们写代码也是,不要以为别人写的代码很骚,你彻底看不懂,就很厉害了,那这种代码也只能适用于少数人而已,
为何java学起来快,c++学起来那么难?
其实身边的不少例子告诉咱们,简单一点才是最重要的
简单了,之后换我的来调试你的程序,也会快上不少