浏览 1656 次
锁定老帖子 主题:抓狂代码
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-14
最后修改:2008-12-14
^^^^^^^^ - 作者:臭豆腐[trydofor.com] - 日期:2008-12-14 - 授权:署名-非商业-保持一致 1.0 协议 - 声明:拷贝、分发、呈现和表演本作品,请保留以上全部信息。 0. 文档目录 ^^^^^^^^^^ [[<=$INDEX]] 1. 可怜的虫子 ^^^^^^^^^^^^^ 现代人的生活,经常碰到糗事,或让人捧腹大笑或让人苦笑不得. 程序员闹糗事,一般都称之为BUG,有种"都是月亮惹的祸那种感觉". 曾经篡改老罗名句,笑称:彪悍的程序不需要测试. 实际上,你不测试程序,程序就会不断地测试你,轻则让你抓狂,重则让你失业, 甚至引发世界问题,比如千年虫(又是虫,呵呵) 2. 逻辑行划分 ^^^^^^^^^^^^^ 程序都是区分物理行和逻辑行的,不同的编程语言对逻辑行有不同的定义. 比如C-Like语言是分号(;),Basic是物理行,而javascript这样还是混编的. 在我刚学习java,用记事本写代码的时候,经常忘记在行尾加分号导致编译错误. 后来养成加分号的好习惯,但也碰到了一次麻烦,代码大概如下. =================== java : 不该有的分号 =================== public String trimToNull(String str) { String rst = null; if(str != null) { rst = str.trim(); if(rst.length()==0); { rst = null; } } return rst; } =========================================================== trimToNull的可怕之处是运行时永远返回null,但编译阶段却是正常的. 3. 与或混淆 ^^^^^^^^^^^ 自然语言不可能像程序那么严谨,尤其是我们的母语. 因此我对不久前炒作的汉语编程非常费解,自认为除了炒作外没有任何意义. 汉语中时候不太严格区分and和or,请看下面的汉语描述: 有整数变量x,y;如果x不等于1 或/和 x不等于2时,则y=2x;否则y=3x; 咋看起来好像没啥问题,用'或'与'和'好像不影响我们的理解, 那么翻译成代码吧. =================== java : 与或混淆 =================== public int testOr(int x){ int y = 3*x; if(x != 1 || x != 2){ y = 2*x; } return y; } public int testAnd(int x){ int y = 3*x; if(x != 1 && x != 2){ y = 2*x; } return y; } =========================================================== testOr是错的,结果永远是y=2x; 这个错误,我犯过2次了.哎,真是该销自己两下,以示警戒. 还有个错误是来自于老婆的同事,最后被老婆发现(老婆是个比我严谨的人). 有大概以下这样的SQL =================== sql : 与或混淆 =================== //这个是错误的,没搞清and和or的优先级 SELECT COUNT(1) FROM TEST WHERE SEQ=1 AND DIS=2 OR HIT=3 //下面是原始要求的本来面貌 SELECT COUNT(1) FROM TEST WHERE SEQ=1 AND (DIS=2 OR HIT=3) =========================================================== 4. CV精通 ^^^^^^^^^ 有个笑话说, 一个程序员去面试,说自己精通CV,然后面试官问什么是CV? 答曰:CTRL+C CTRL+V . 基本上大家都是精通CV的人. 有CV @author, "嫁祸于人"的;有CV代码,偷工减料的. 有CV google,进行测试和学习的,等等吧. CV的案例太多了,简直五花八门,呵呵. 总之,CV无罪,但务必要留意上下文和适用场合. ========================= a9text排版地址 http://www.trydofor.com/a9w3-auhome/trydofor/article/2008/1214074100/body.htm 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-12-08
说的不错~
|
|
返回顶楼 | |