朱祁林       zhuqilin   

糟糕编程的白痴指南

介绍

    我知道有些人坚持写非常清晰的代码,这些代码有非常好的文档记录,也非常容易理解。这里我把一些非常糟糕的编程汇集成一个文档,供你参考。

    如果你希望编写可怕的软件,你只要记得最重要的两件事情:尽可能多搞一些小错误和使代码非常的混乱,以至很难跟踪到这些迂回的错误。这样,您就能最大限度惹恼你的用户和编程人员。

    如果您按照这些简单的规则来做,我保证你将永远不会远离用户和其他程序员的想法。 

1、关闭所有编译器警告

    如果你想写非常糟糕的代码,这是一个非常好的开始。毕竟,你也不希望讨厌的编译器唠叨你一整天。所有真正程序员完全地关闭警告。 

2、变量

    初学者应确保所有的变量都是全局的。这样就非常容易地将所有的变量都放在一个地方。如果你更进一步,添加跟全局相同的名称局部变量,这将让你轻松地创建细微的错误。

3、函数

    避尽可能免使用函数,写简单的一个大串长代码,与尝试将其分离成几个不同的函数然后繁琐传递参数相比较,前者更加的容易。

4、剪切和粘贴是你最好的朋友

    不惜一切代价避免使用循环,虽然剪切和粘贴重复代码可能需要更长的时间,如果你考虑到花时间去检查重复代码的细微变化的乐趣,你会觉得这是非常值得的。 

5、初学者的变量命名

    你可以有很多的变量命名的乐趣,尝试使用你能想到的最没有意义的名称,Fred是我最喜欢的。它总是包含一些一知半解的名字,能让其它程序员不断猜测。

6、高级变量命名技术 

    理想情况下尝试给完全不同的变量想一些尽可能类似的名字。 另一种的好想法是创建两个相同名称的变量,但是一个要以"1"结尾,另外一个以"I"结尾。这些一眼看上去是非常容易混淆的,能让其他程序员难以猜测。例如:Slopel 和Slope1,偶尔使用一个标签表示与人们假设的意思恰恰相反,您可以取得最好的效果, 一个典型的例子是使用水平标签表示垂直意思,使用垂直标签表示水平。说真的,阅读你的代码,因为试图解开意思,要浪费娱乐和休闲时间。

7、初始设定

    让你的所有变量用使用过的内存值来初始化

8、边界检查

    允许用户输入任何他们想输入的值,如果用户输入一个错误的值,该程序就能崩溃。

9、注释

    对于初学者,任何时候最好都不要写注释,注释会浪费你宝贵的空间和输入的时间,如果你更进一步,您就可以开始添加完全无用的注释,因为他们的状态非常明显,例如:

i++// increment i

    而注释最高境界是尽可能的神秘,如:

i++;     //check inside the chicken string

10、布局

    使你的软件布局非常糟糕才体现真正的奉献精神。最重要的布局理念是永远不让它一致。无论您选择的什么样的布局理念,一定要定期改变它。将布局改成完全不同的东西之前,高级程序员应该记得使用相同的布局足够长的时间,让其他程序员习以为常。

11、匈牙利命名法

    这完全是可选的,但为了达到最佳效果请使用一知半解的匈牙利命名法,这能烦恼每一个人(喜欢和不喜欢它的人),当然一些不正确使用只是为了使事情变得更有趣。

12、最后千万不要测试

     懒得去测试代码,而是等待其它人的抱怨。这样,你会先发现哪些是最经常出现的错误!多壮观呀! 

     我试图涵盖许多方面的非常糟糕的编程,但我相信你们许多人能想得到更多。如果您轻松开始进入良好的习惯,但没花多大的力气又回到那些坏习惯中去了,请不要灰心。

声明

    我没有以任何方式暗示我从来不写糟糕的代码,我也不建议任何人这样写代码,这只是来点乐趣而已。

参考原文:http://www.codeproject.com/KB/scrapbook/Bad_Programming.aspx

作者:朱祁林
出处:http://zhuqil.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 



标签: 白痴指南
posted @ 2010-02-05 11:25 麒麟 阅读(2402) 评论(17) 编辑 收藏

 回复 引用 查看   
#1楼[楼主]2010-02-05 11:26 | 麒麟      
如果看不明白,将鼠标,移到文字上面,就能直接看英文。双语版滴。:)
 回复 引用 查看   
#2楼2010-02-05 11:28 | 温景良(Jason)      
oyeah

 回复 引用 查看   
#3楼2010-02-05 11:33 | avril23      
wow...cool...
 回复 引用 查看   
#4楼2010-02-05 11:40 | 吴峰      
相当cool
 回复 引用 查看   
#5楼2010-02-05 11:53 | Anders Liu      
预计未来几日“双语”将成亮点。

文章很有趣,嗯。。。不过我不敢学习。:D

 回复 引用 查看   
#6楼2010-02-05 12:00 | 星空下      
双语版 有意思
 回复 引用 查看   
#7楼2010-02-05 12:01 | 双击      
双语很不错
 回复 引用 查看   
#8楼2010-02-05 13:06 | Steven Chen      
我就是不明白,lz你是怎么做到双语版的?

我还以为是win7中我没有发现的功能,赶紧转到别的页面用鼠标选择,白高兴了一场。

 回复 引用 查看   
#9楼2010-02-05 13:12 | www1      
@Steven Chen
<span title="Introduction">,title上写英文的。

 回复 引用 查看   
#10楼2010-02-05 13:14 | Gnie      
引用www1:
@Steven Chen
<span title="Introduction">,title上写英文的。

正解

 回复 引用 查看   
#11楼2010-02-05 13:42 | 庄周梦蝶      
嗯,太棒了
就这样,北大青鸟就是这么教的
他们那里出来的学生都可“牛”啦!!!

 回复 引用 查看   
#12楼2010-02-05 15:26 | 刘修明      
真牛,双语,怎么弄的?
 回复 引用 查看   
#13楼2010-02-05 15:30 | 汝熹      
双语是亮点~~!!
 回复 引用 查看   
#14楼2010-02-05 15:44 | kenny.guo      
楼主有心了,不过白痴很多看不懂用意就麻烦了
 回复 引用 查看   
#15楼2010-02-05 16:51 | 伍紫韵      
谢谢楼主分享,我大概就是那个白痴里面的其中一个!Rolex watches
 回复 引用 查看   
#16楼2010-02-05 22:51 | lcs-帅      
应该把中文放在title里面,E文直接显示出来。像我这些想学英语又懒的人,是不会去动鼠标的。
 回复 引用 查看   
#17楼2010-02-07 22:26 | 依落の守候      
恩。我会努力朝这个方向发展的,哇哈哈。