`
LucasLee
  • 浏览: 205914 次
  • 性别: 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. 宿舍卫生状况堪忧:部分宿舍...

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

    经期健康对于女性来说至关重要,而在经期护理中,卫生巾的选择、使用和储存方法往往被忽视,导致一些不良习惯影响到女性的身体健康。以下是六个常见的经期卫生恶习及相应的改善措施: 恶习一:喜欢囤积卫生巾。很多...

    releases:恶习发布

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

    品味c。抛弃c的恶习

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

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

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

    损害电脑的12大恶习

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

    避免恶习教案.pdf

    5. 课程设计与实施:教案中包含了新课导入、学习目标设定、重难点讲解、问题引导、小组讨论等教学环节,旨在创造一个互动性强、寓教于乐的学习环境,让学生在参与中加深理解,提高批判性思考能力。 6. 学生心理分析...

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

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

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

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

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

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

    unity 粗恶习

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

    人要杜绝两个恶习.docx

    本文的核心观点是指出人们应该避免的两个恶习,一个是个人层面的酗酒,另一个是在商业领域的过度杠杆化。这两个问题不仅影响到个人的生活质量,也对企业的生存和投资安全构成威胁。 首先,酗酒是一个严重的个人问题...

    歌唱发声的恶习.docx

    歌唱发声的技巧是音乐表演中至关重要的一环,然而,在实践中,很多歌手会不经意间养成一些不良的习惯,这些恶习不仅会影响声音的质量,还可能导致长期的声带损伤。以下是一些常见的歌唱发声恶习及其纠正方法: 1. ...

    男性拥有的多种恶习.pptx

    标题和描述中提到的“男性拥有的多种恶习”主要关注的是男性健康,特别是与肠胃健康相关的不良生活习惯。以下是对这些恶习的详细说明及其对肠胃健康的潜在影响: 1. **吃饭太快**:男性常常因为忙碌而快速进食,这...

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

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

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

    以下将详细解析文档中提到的“人人厌”的五个恶习,并提供改善建议。 一、发出稀里糊涂的噪音 噪音是办公室中最常见的烦恼之一。这包括频繁的敲击键盘声、手机铃声、大声讲电话等。为了减少噪音干扰,可以尝试使用...

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

    总的来说,了解并改正这些办公室恶习有助于建立一个更和谐、高效的工作环境。自我反思、倾听他人的反馈,以及适时调整行为模式,都是提升个人职业素养的重要步骤。记住,职场成功往往源于细节,良好的习惯可以让你在...

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

    【描述】:“第讲常被我们忽视的礼仪恶习.pptx”是一个关于个人修养和社交礼仪的PPT文档资料,旨在提醒我们在日常交往中需要注意的一些细节,提升自我形象和社交效果。 【标签】:“财务管理类 PPT 文档资料”可能...

    办公室恶习介绍范文.doc

    办公室环境是现代人工作的重要场所,然而,许多不良...通过改变这些不良习惯,我们可以创造一个更健康的工作环境,提高工作效率并预防职业病的发生。重视办公健康,是对自己负责任的表现,也是提升生活质量的重要一环。

    在养猪生产中如何处理猪的这些恶习.doc

    解决这个问题的一种策略是在新购入的仔猪和原有猪只以及猪舍周围喷洒白酒。酒的味道会干扰猪的嗅觉,降低它们的攻击性,从而减少咬斗。 5. **噬雏**:如果猪有吃小鸡、雏鸭的习惯,可以采用焦鸡毛法。将鸡毛烧成...

Global site tag (gtag.js) - Google Analytics