`
LucasLee
  • 浏览: 206244 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

看看这个笑死我的帖子:"说一说编程恶习"

阅读更多
转贴:
"说一说编程恶习"
http://www.blogjava.net/uiiang/archive/2006/10/16/75502.html

这哥们郁闷阿,维护这么一堆代码...
分享到:
评论
28 楼 cookoo 2006-10-28  
我碰到过一次郁闷的注释:一会注释写在被注释的函数上面,一会注释写在函数下面,真是让人脑筋转弯。
27 楼 yun 2006-10-28  
好好有趣,初出茅庐的牛人好象都这样似的。OooO00Ooo究竟代表什么呢?确实没见过啊。
26 楼 dada 2006-10-28  
见过一套系统数据库的表字段全是英文,另一套全是拼音的,还有一套中英文混杂的。最牛b的是当时设计的老法师就像字典一样,问一下能把n个系统的表的字段关系都背出来。
25 楼 庄表伟 2006-10-28  
Lucas Lee 写道
yfmine 写道
上次听谁说有"l1"这种变量呢,前几天一不小心也遇到了...而且还有"l1_1",听那位老兄解释才知道是"loop1"的缩写.


见过OooO00Ooo这样的变量么?赫赫,注意其中有零。
在代码混淆过的程序里见过
24 楼 LucasLee 2006-10-27  
yfmine 写道
上次听谁说有"l1"这种变量呢,前几天一不小心也遇到了...而且还有"l1_1",听那位老兄解释才知道是"loop1"的缩写.


见过OooO00Ooo这样的变量么?赫赫,注意其中有零。
23 楼 yfmine 2006-10-27  
上次听谁说有"l1"这种变量呢,前几天一不小心也遇到了...而且还有"l1_1",听那位老兄解释才知道是"loop1"的缩写.
22 楼 zfigo_000 2006-10-27  
说的很好。
21 楼 snowbamboo 2006-10-27  
最初用JAVA写SWING程序,也出现过一个类1W多行代码,基本没写注释,老大疯了……
20 楼 ddd 2006-10-26  
两三个文件里面跳转的指针

这可是C程序员基本功。
……仅仅在两三个文件里面跳转如果还驾驭不了,就别弄C了。
19 楼 asd 2006-10-26  
召唤t1,以前听他说过他的在两三个文件里面跳转的指针,真的想看看人类智慧飞跃到什么地步了。 
18 楼 ddd 2006-10-26  
又一个参与挖坟行列的。

此风不可涨啊,此风不可涨。
17 楼 ozzzzzz 2006-10-26  
基于文本的就行了,不用搞基于语义的那么复杂。其实我说的这种情况稍微有点开发时间的人都遇到过。当然我们这样做的目的也仅仅是基于商业竞争的考虑。
16 楼 LucasLee 2006-10-23  
ozzzzzz 写道
Lucas Lee 写道
我刚学编程的时候也不会命名,随便搞个字母就好了,或者什么a1,a2的。
后来也用过一阵子拼音。
在后来还是觉得应该用英语,比较cool。哈哈

其实这种方式并没有什么问题,至少我以前指导的几个公司都用这个方法。
当然我会维护一个程序数据字典,里面对a1、a2这些名称都有对应的中文或者英文名字,如果愿意还可以有简单的介绍(不过我强烈建议这个介绍就免了,因为我相信名字就应该自己说明自己)。并且有小工具可以直接替换这些名字。其实这样也是一种测试的方法。


局部变量如果生存范围很小的话,用a1,a2的命名方式影响不大,比如在只有两三行的method里这么用(即便是这样我还是宁愿使用带意义的命名,比如result)。

如果在instant,class 变量里这么用,危害比较大了。维护一个数据字典不如自己说明自己的命名,省去了翻字典的过程。易读性好多了。
15 楼 runes 2006-10-23  
ozzzzzz 写道
Lucas Lee 写道
我刚学编程的时候也不会命名,随便搞个字母就好了,或者什么a1,a2的。
后来也用过一阵子拼音。
在后来还是觉得应该用英语,比较cool。哈哈

其实这种方式并没有什么问题,至少我以前指导的几个公司都用这个方法。
当然我会维护一个程序数据字典,里面对a1、a2这些名称都有对应的中文或者英文名字,如果愿意还可以有简单的介绍(不过我强烈建议这个介绍就免了,因为我相信名字就应该自己说明自己)。并且有小工具可以直接替换这些名字。其实这样也是一种测试的方法。


敢问用啥写的程序阿? 如果a1 a2这种的,从类名到局部变量名,到函数名,到..... 都有的话,怎莫对应呢?

不知道是啥样的小工具,“直接替换这些名字“,是文本形式的呢,还是语义形式的呢?

语义形式的的话,基本上就等价 rename的refactor了,CDT可是折腾了半天才出来一个rename的refactor的。

14 楼 ozzzzzz 2006-10-23  
Lucas Lee 写道
我刚学编程的时候也不会命名,随便搞个字母就好了,或者什么a1,a2的。
后来也用过一阵子拼音。
在后来还是觉得应该用英语,比较cool。哈哈

其实这种方式并没有什么问题,至少我以前指导的几个公司都用这个方法。
当然我会维护一个程序数据字典,里面对a1、a2这些名称都有对应的中文或者英文名字,如果愿意还可以有简单的介绍(不过我强烈建议这个介绍就免了,因为我相信名字就应该自己说明自己)。并且有小工具可以直接替换这些名字。其实这样也是一种测试的方法。
13 楼 ctwu 2006-10-23  
adamzhao 写道
simohayha 写道
唉,我们公司 就差不多,整个全是拼音,数据库命名,变量命名,类命名,全是拼音,nnd每次猜得我都郁闷了.


你可曾见过拼音+英文的命名方式? 呵呵,一个变量名足足让人猜了半年才明白是什么意思。

 

呵呵,说不定还能练本领。可以参加天才gogogo
12 楼 itfkn 2006-10-23  
我就是啊  命名规则=英文_拼音缩写
11 楼 LucasLee 2006-10-19  
gigix 写道
simohayha 写道
唉,我们公司 就差不多,整个全是拼音,数据库命名,变量命名,类命名,全是拼音,nnd每次猜得我都郁闷了.

有没有见过“test_0601221453”这样的命名?
名字是写这个测试案例的时间……


这个也够有创意的...这样搞的话,都可以自动命名了。
10 楼 LucasLee 2006-10-19  
Julien 写道
我还搞过一大堆PB里面的数据处理程序要转事务过程
完全傻了,一大堆几乎完全一摸一样的script,但是又不是这个等于那个,数据表处理的部分肯定不同,此外还有一些很细微的赋值转换之类
感情他们写程序就是从一个拷贝成另外一个然后稍微改一下……
于是扔掉eclipse,扎进ultraedit的文本比较器里头泡了泡一个星期,最后大概把整个的规模合并到原来的1/4了


是的!这种情况看来比较普遍。
这种情况下代码逻辑的冗余非常大。
但是(N年前)当我那个同事第一次编写这类程序时,他觉得很爽,这样又快又有成就感(代码量迅速上升),我还记得他经典的一句"我觉得我的代码可移植性还不错。",敢情他的可移植性就是利于Copy & Paste & 改动一点。也不是嘲笑人家,谁不经历成长期?觉得挺有趣的。

近两年搞了一个项目,里面有很复杂的报表。其中好几个是类似和相关的,我的同事做的就跟上面说得差不多。大段的代码是相似但绝不相同,改动了少量地方。我数了一下,这样的大段有12处,大约是由于3x4的变化引起的。即第一个因素有3种可能,第二种因素有4种可能。可以推断,再加一个变化因素,会以倍数增加!

(重构谈得多了,我们这里举一些大家亲身体会的例子更有效果。)

后来我重构了一把,花了一周整理和测试,代码量也是成倍减少,但适应变化的能力提高了。不用担心用户再加一个因素。而且,出错的机会减少了,都是用一套代码,而不是看上去差不多,但各有不同的代码。




9 楼 adamzhao 2006-10-19  
simohayha 写道
唉,我们公司 就差不多,整个全是拼音,数据库命名,变量命名,类命名,全是拼音,nnd每次猜得我都郁闷了.


你可曾见过拼音+英文的命名方式? 呵呵,一个变量名足足让人猜了半年才明白是什么意思。

相关推荐

    恶习演讲稿 文本格式

    4. 考试作弊:考试作弊成为校园中的一个普遍问题,反映了学术诚信的缺失。 5. 课堂纪律松散:课堂上存在各种不专注的行为,如讲话、看小说、使用手机等,显示了对学术活动的轻视。 6. 宿舍卫生状况堪忧:部分宿舍...

    releases:恶习发布

    总的来说,这个"releases:恶习发布"是一个针对深红TNG项目的重要更新,重点在于MCU固件的升级,且与JavaScript编程紧密相关。用户需要具备一定的技术背景,例如了解JavaScript编程和MCU操作,才能成功地利用提供的...

    品味c。抛弃c的恶习

    《品味C:抛弃C程序设计中的恶习》是一本对C语言编程有深刻洞察力的技术资料,它旨在帮助读者通过识别和改正错误来提高编程技能,对于任何希望精通C语言的读者来说,这都是一本宝贵的参考资料。

    品悟C——抛弃C程序设计中的谬误与恶习 高清(带详细目录)PDF

    全书分为上下两部:上部“形而下学”讨论C代码中常见的错误和编程恶习;下部“形而上学”讨论的是对C语言本身认识方面的常见误区。这些问题特别具有普遍性,很多错误不仅仅存在于初学者之中,即使是不专业的程序员...

    损害电脑的12大恶习

    一个常见的错误做法是在笔记本电脑使用过程中始终保持电池连接,即不从笔记本上拆卸下来。这种看似方便的做法实际上会减少电池的使用寿命。长时间处于充满电的状态会导致电池内部化学物质过度反应,从而加速老化过程...

    经期健康六个恶习需知.pdf

    在女性的日常生活中,经期卫生管理是相当关键的一个环节。尽管它看起来是一项简单且日常的个人护理活动,但如果处理不当,就有可能影响到女性的身体健康。在经期卫生巾的选择、使用与储存过程中,存在一些容易被忽视...

    人要杜绝两个恶习.docx

    这就形成了一个恶性循环,整个市场的杠杆率不断攀升,市场风险逐渐累积。投资者往往会被表面的繁荣所吸引,而忽视了真正的风险所在。直到市场泡沫破裂,危机爆发,投资者才悔之晚矣。 总的来说,个人层面的酗酒和...

    让美女变丑的十大护肤恶习.pdf

    1. **护肤恶习一**:直接用手拍打紧肤水。这不仅无法达到二次清洁的效果,还可能导致紧肤水的浪费。正确的做法是用浸湿的化妆棉轻轻涂抹,以确保产品的有效利用和皮肤的卫生。 2. **护肤恶习二**:快速用力涂抹眼霜...

    阅读备考千万别染上这几个恶习.docx

    首先,【疯狂刷题战术】是一个普遍存在的误区。许多考生认为多做题就能提高分数,于是不加选择地大量做题。然而,这种做法可能导致考生陷入机械做题的状态,忽视了对题型的理解和策略的运用。正确的备考路径应该是有...

    养生专题:九大生活恶习让你狂长皱纹.doc

    养生专题:九大生活恶习让你狂长皱纹.doc

    unity 粗恶习

    2. 避免MonoBehavior的混用:尽量避免在一个脚本中混合Update、LateUpdate、FixedUpdate等方法,因为它们可能会导致性能问题。理解每个方法的执行时机并合理分配任务。 3. 利用委托和事件:避免过多的硬连接,可以...

    避免恶习教案.pdf

    在课程设计与实施方面,教案涵盖了一系列教学环节,从新课导入、学习目标设定、重难点讲解、问题引导到小组讨论等,构成了一个互动性强、寓教于乐的学习环境。这样的设计不仅让学生在参与中加深理解,而且还有助于...

    “人人厌”的五个恶习.docx

    本文将深入分析这五个典型的职场恶习,并提供相应的改善策略,希望能够帮助大家塑造更加专业和积极的职场形象。 首先,噪声污染是职场中最为常见的问题之一。在开放式办公环境中,来自键盘敲击、手机铃声、甚至个人...

    现代办公室的五大恶习.doc

    最后一个恶习是过度积极。虽然在工作中表现出积极主动的态度是受到鼓励的,但是过度的积极可能会带来反效果。在没有适当授权的情况下,过分介入他人的工作或讨论,可能会给人带来干扰他人的负面印象。保持专业界限,...

    现代办公室的恶习排行.doc

    “迟到”是另一个职场上的恶习,它不仅浪费了自己和他人的时间,也显示出了对团队规则的不尊重。要解决这个问题,你可以从培养早起的习惯开始,并确保有充足的通勤时间。如果你发现自己经常迟到,那么就需要仔细反思...

    1习成就新生活:毁人一生的99个坏习惯————相当好啊

    标题中的“1习成就新生活:毁人一生的99个坏习惯”似乎与IT行业专业知识并无直接关联,但它提供了一个个人发展和习惯改善的主题。描述中的内容重复了标题,同样没有涉及具体的技术细节。然而,我们可以从这个主题...

    歌唱发声的恶习.docx

    全身肌肉紧张是另一个需要关注的问题。如果身体过于紧张,尤其是颈部、肩部、背部、手臂和胸部的肌肉,就会使得呼吸肌失去弹性,对发声器官的正常运作产生不良影响。正确的做法是放松上半身,同时保持下肢稳定,犹如...

    一种减少机动车驾驶人交通恶习行为的监测报警设备的制作方法.docx

    例如,在散热风扇的作用下,安装外壳上设置的香氛容纳瓶能够快速均匀地散发香气,消除车内异味,为驾驶者提供一个更加舒适和愉悦的驾驶环境。 为了确保设备的安装便捷性和稳固性,在安装板上设计有滑槽和安装支架,...

    第讲常被我们忽视的礼仪恶习.pptx

    在职场或者家庭聚会中,这是一个常见的场景。当别人为我们倒水时,适当的手部动作——比如用手轻轻扶住杯子,表达的是一种基本的尊重和礼貌。这种小动作不仅仅是一种形式,它传递的是对他人劳动成果的感激和尊重。在...

    现代办公室恶习前五名排行.doc

    最后,“过度积极”也是一个需要警惕的办公室恶习。积极进取的员工往往受到欢迎,但是过度积极可能会给他人带来压力,甚至引起反感。强行参与他人的讨论、无端插手他人工作或过多发表意见,都可能被视为对他人工作...

Global site tag (gtag.js) - Google Analytics