每日一得

不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速开发
最近关心的内容:SSH,seam,flex,敏捷,TDD
本站的官方站点是:颠覆软件

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  220 随笔 :: 9 文章 :: 421 评论 :: 0 Trackbacks

1.很多人喜欢用代码开发工具的debug功能来跟踪问题,虽然最终可以解决问题,但是从方向或者思想上不建议这样做,我依然记得最初我的技术经理对我说过 “代码不是调出来的”。

2.不是调出来的那是怎么出来的呢? “写出来的。” 呵呵,别扭,但是想想看,是否有点道理?

3.从另一个层面,我们需要加强代码的规范的写法,这就好比设计,先尽量将设计(在敏捷的年代似乎谈设计不太入流,那么你可以认为那是一种思考吧)做的到位一点

4.回到一个大的命题:战略如果错误,执行的越快死的越快;同理,思路或者方向如果有问题,做的越带劲,你越难受。

5.让我们朝这个目标挺进:代码一次编写就通过! 我见过一些这样的高人,只要你努力,是可以做到的。

posted on 2008-08-03 20:56 Alex 阅读(2430) 评论(23)  编辑  收藏 所属分类: java

评论

# re: 代码不是调出来的 2008-08-03 22:28 nickey
开玩笑呢.  回复  更多评论
  

# re: 代码不是调出来的 2008-08-03 23:23 feifire
我不是这么认识的,我记得我的一个“老师”说过这样一句话,编程编程,一个软件不是编写出来的,是调试出来的,他认我们好好的去学习调试,从中避免走入思想误区等等。。。 呵呵 其实两个话法都有他自己的道理  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 01:10 soishust
这个恐怕不行吧,设计在到位也不可能设计到每个细节,如果能设计到每个细节那代码都可以自动生成了,不用你写。

除非是机械化的增删查改,不然稍微有点算法和业务逻辑的程序一次完全正确的概率几乎是0,这也是为什么现在项目里面开发人员和测试人员几乎是1:1的原因:人都会犯错,设计者,开发者,测试者,无一例外  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 08:42 ron
给你一个项目,里面代码乱七八糟,不用调试根本没发往下看。不知道怎么走的。  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 08:58 po
lz高见,以后lz写代码全部不用debug,写好后直接就能运行。

  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 09:09 raof01
要分情况。
碰上乱七八糟的代码,调试是最好的手段。对于组织良好的代码,理解意图最关键。这时候调试只是辅助。
对于写代码,最重要的是找到解决问题的办法,而不是如何让代码工作。南辕北辙的话,再调试也没有用。  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 09:26 tboqi
人都是会范错误的,调试就是为了避免错误,尤其是程序员这个职业工作强度非常高,我认为高手与菜鸟的区别不是是否调试,是否范错误,而是范错误的多少,而且高手一旦范错误的话,非常容易引起系统的崩溃  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 11:15 冬日的阳光
代码肯定不是调出来的,当然是写出来的
代码首先要有个好的结构和大方向的正确和设计
调试代码只是为了发现代码在实现过程中的小瑕疵,或者发现代码中的漏洞
如果写了一段很垃圾的代码,然后寄希望于调试来改变这个代码的风格和结构,这不是很可笑的么
楼上有位仁兄说"lz高见,以后lz写代码全部不用debug,写好后直接就能运行。 "言下之意好像写代码不用调试就可以运行很可笑,我倒是认为如果写了几十年的代码,你写一个一般复杂程度的对话框还会出现需要调试代码,哪能说明什么问题呢
换个角度说,如果你写了代码不用调试就能很好运行,这不是很酷么,很值得我们追求么  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 11:28 zhuxing
非常不同意楼主的内容

调试和写代码矛盾吗???
没有调试功能,代码能写的那边流利吗???如果你能,那你牛!
调试怎么会和编码规范、设计扯的这么紧了???搂主的认识是这样???
。。。
遇到高人了:代码一次编写就通过???连测试也通过了???

牛人天天牛,今天特别牛 ~_~  回复  更多评论
  

# re: 代码不是调出来的[未登录] 2008-08-04 12:16 永恒
程序员是在bug中成长的  回复  更多评论
  

# re: 代码不是调出来的[未登录] 2008-08-04 13:04 lisa
@永恒
我赞同,同时我也坚信这一真理。  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 15:32 很现实
听起来很完美。。。。  回复  更多评论
  

# re: 代码不是调出来的[未登录] 2008-08-04 15:34 竹十一
顶!

DEBUG会让人产生严重的惰性!对严谨的逻辑思维破坏力之强超出想象,如果要保持对系统更高的理解度,慎用DEBUG,多看代码多分析是条更好的路!

唉,自从我用了DEBUG之后发现越来越笨了,看来楼主也意识到了。

  回复  更多评论
  

# re: 代码不是调出来的 2008-08-04 16:07
有点意思
代码当然是写出来的?不对,应该是用键盘敲出来的

建议公司都禁止DEBUG,太浪费时间,发现一次开除.
  回复  更多评论
  

# re: 代码不是调出来的[未登录] 2008-08-04 17:17 fatbear
@啊
如果是你说的那样,那该是多完美的世界啊

代码应该足够健全,避免通过调试来发现问题

完全不调试,那是神人级别,可以去征服宇宙了,hoho  回复  更多评论
  

# re: 代码不是调出来的[未登录] 2008-08-04 17:49 Paul Lin
发觉这里发表评论的人大多数把“调试”和“测试”搞混了。好的软件是“测试”出来的,不是“调试”出来的。

频繁地依赖于调试,说明了一个问题:写这段代码的人逻辑性很差,让阅读的人无法充分理解。

如果代码是先人所为,这个没有办法,调试是一个重要的辅助手段。如果是自己写代码,那么说明你对目前要实现的这个功能逻辑还不清晰,所以不得不依靠频繁的调试来验证逻辑。

我记得以前一个做QA的同事也说过:不要过于依赖调试,调试是一件很费时的事情,他碰到错误首先都是看代码,实在不行再调试。但他找出来的错误比谁都多。

我觉得如果你自己写代码的时候频繁使用调试,那么你应该想想是不是需要花点时间整理一下你的逻辑先?  回复  更多评论
  

# re: 代码不是调出来的 2008-08-06 10:26 byk
自己写的代码,出错了,如果需要debug才能找到错误,那说明自己能力不足。
理想的作法是:自己要清楚自己写的代码逻辑,那句可能存在问题。一旦出现问题,能马上定位。要求在写代码时对于不确定或者可能出问题的地方,多多logger.info()打印调试信息。
最终建议:使用 logger.info()来避免debug。因为debug的效率实在太低。  回复  更多评论
  

# re: 代码不是调出来的 2008-08-06 10:27 byk
对于历史遗留问题,别人写的代码,实在看不清晰的话,还是需要debug的。  回复  更多评论
  

# re: 代码不是调出来的 2008-08-11 16:33 guest
真晕,楼主说的是理想状态,是一种思想,现实中努力去靠近就是,又没说一定要不差分毫的这么“的”,干嘛那么多批评讽刺加嘲笑呢??!!  回复  更多评论
  

# re: 代码不是调出来的 2008-08-13 23:38 小高
高手 少...但是 确实有这样的人 这也许才是真的程序员 ............你想成为这样 你可以自己少用调试器....大脑分析  回复  更多评论
  

# re: 代码不是调出来的[未登录] 2008-08-18 10:03 nile black
调试本身是一门很精妙的技术.编码也是..
代码不是调出来的,最好改成"代码不应该是调出来的",不需要调试的代码只是美好愿望.
所以在尽量在编写代码之前做更多的考虑,多写为代码,来减少调试,或者说提高调试的质量.于是乎,你还是要去掌握精妙的调试技术  回复  更多评论
  

# re: 代码不是调出来的 2008-12-16 15:56 nkknight
博主说的有道理,确实,好的设计成就好的工程,代码规范的良好性确实直接和代码的质量挂钩。但是,代码是怎么做出来的这个概念我觉得不该款款而谈,不同阶段的程序员有不同的策略和方法,只有在具有一定经验和基础的时候才有提升,关于程序的想法才会成长。
ps:我觉得你的想法会给那些初级的程序员很大的误导。。。
呵呵,愚见。。  回复  更多评论
  

# re: 代码不是调出来的 2011-02-11 17:29 我是一头母牛
赞同LZ的观点。

我自己写了一年多代码,从来都不需要调试,都是一次编译成功!

秘诀就是多想,三思而后行,写一行代码就得考虑到后一百行代码怎么写。

所以公司里面的人都称我是:牛神!  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: