开发中的一些小习惯---能够减小你不少debug的时间

有句话常说,细节决定成败,可是细节在哪里呢?咱们又要怎样来寻找这些细节呢?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++学起来那么难?

其实身边的不少例子告诉咱们,简单一点才是最重要的

简单了,之后换我的来调试你的程序,也会快上不少

相关文章
相关标签/搜索