`
fujohnwang
  • 浏览: 156238 次
社区版块
存档分类
最新评论

杂草丛生 VS 整洁有序

阅读更多

 

这个话题得从现在的项目经理的一个言论引出来。


按照PM的说法,“我是简单原则的支持者”,云云, 那么,让我们来看一下这些简单的原则是什么吧!
1- 尽量减少接口和类的数量;
2- 尽量不用接口;
3- package不要太深,也不要太多;
4- 远程之类全部使用EJB(2.x);

等等

 

其实这个扯得多了,呵呵,这个话题是跟第三点有关,要开发一个功能,框架代码完成后,剩下的就是根据具体功能给出实现类了,这个应该算是常识,将所有这些实现类单独放在一个package下,既便于管理,语义上也比较好理解,但是那,这样的提议(真不算啥提议)让人家给踢回来了,呵呵,我真的不知道说啥好,
我说随着实现功能的增多,把所有的实现类放在当前一个package下面会flood当前package, 可是人家说了,就10几个类,能flood到啥程度啊,呵呵

 

某一天,突然想到一个比喻, 设想有一个花园,在我的花园里,花朵开放在修葺整齐的花坛中,草儿则轻轻爽爽的长在花坛外的草地上;而在PM的花园里,花和草则是间杂生长,至于那回事啥景象,我就不去想了,因为那跟我的理念完全是两个世界。

 

前几天还看到Javaeye上一个帖子,说不要把简单的事情搞得复杂,把所有的东西都一骨碌得print到console上就较简单了?多写几个循环就较复杂了?还将多么容易维护之类云云,nnd,你写软件真的就几个print到console就OK了? 你或许可以将其裱称为有创意的思考,不过,你常年的修炼难道就是为了这个?说句不好听的话,这种伎俩,新手都比你玩得好, 我还从“袜子“那里听到过更又创意的那

 

你的mind就是一个花园,当你历尽千辛把它打理的井井有条,整洁有序的时候,让它荒芜也很简单,不去管它就是了。
不是写不出来那些所谓的println,而是经过了励练,那种东西已经早被抛弃了。到底是退步还是进步, 你自己或许比我更清楚!


设想一下,做codeReview的时候,你看到这样的代码会怎么做吧 ...

分享到:
评论
27 楼 fujohnwang 2009-04-23  
night_stalker 写道
如果你的 boss 是 Linus 大神,他会怒骂:

一个类都不要!全删掉!


我没觉得他是神!
另外,这跟谁是我的boss也没关系。
26 楼 night_stalker 2009-04-23  
如果你的 boss 是 Linus 大神,他会怒骂:

一个类都不要!全删掉!
25 楼 fujohnwang 2009-04-23  
kakueiken 写道
就10几个类.每个类多少代码啊??
以后修改多不多啊.不多的话.
用啥框架啊.真的直接上去反而更简单明了.
杂草与鲜花.
要是全是鲜花,你不觉得会审美疲劳吗?
花园小,多点色彩吧.


中国有句老话,叫做“人无远虑,必有近忧“,你可以倒过来,看一下是否也make sense...

另,推荐一篇文章吧:
http://www.methodsandtools.com/archive/archive.php?id=85
24 楼 kakueiken 2009-04-21  
就10几个类.每个类多少代码啊??
以后修改多不多啊.不多的话.
用啥框架啊.真的直接上去反而更简单明了.
杂草与鲜花.
要是全是鲜花,你不觉得会审美疲劳吗?
花园小,多点色彩吧.
23 楼 fujohnwang 2009-04-21  
icefire 写道
justshare 写道
这个话题得从现在的项目经理的一个言论引出来。

按照PM的说法,“我是简单原则的支持者”,云云, 那么,让我们来看一下这些简单的原则是什么吧!
1- 尽量减少接口和类的数量;
2- 尽量不用接口;
3- package不要太深,也不要太多;
4- 远程之类全部使用EJB(2.x);

等等

其实这个扯得多了,呵呵,这个话题是跟第三点有关,要开发一个功能,框架代码完成后,剩下的就是根据具体功能给出实现类了,这个应该算是常识,将所有这些实现类单独放在一个package下,既便于管理,语义上也比较好理解,但是那,[color=red]这样的提议(真不算啥提议)让人家给踢回来了,呵呵,我真的不知道说啥好[/color]


这一段,我看了几遍,还是没弄明白到底是你说的还是PM说的,可能我的理解能力有问题罢。
另,我个人觉得最好还是要分得详细点,这样语义比较清晰,万一以后会扩展呢?当然,如果你头儿坚持要那样做,那作为手下,照办就是了。


万一以后扩展,那就重构好了。。。只是万一,所以还不一定有机会给你实践重构。。


我不需要他给我实践重构的机会,呵呵,我只是说我会保持自己的花园整洁有序就好,我不可能强迫别人接受我的观点
22 楼 fujohnwang 2009-04-21  
justshare 写道
这个话题得从现在的项目经理的一个言论引出来。

按照PM的说法,“我是简单原则的支持者”,云云, 那么,让我们来看一下这些简单的原则是什么吧!
1- 尽量减少接口和类的数量;
2- 尽量不用接口;
3- package不要太深,也不要太多;
4- 远程之类全部使用EJB(2.x);

等等

其实这个扯得多了,呵呵,这个话题是跟第三点有关,要开发一个功能,框架代码完成后,剩下的就是根据具体功能给出实现类了,这个应该算是常识,将所有这些实现类单独放在一个package下,既便于管理,语义上也比较好理解,但是那,[color=red]这样的提议(真不算啥提议)让人家给踢回来了,呵呵,我真的不知道说啥好[/color]


这一段,我看了几遍,还是没弄明白到底是你说的还是PM说的,可能我的理解能力有问题罢。
另,我个人觉得最好还是要分得详细点,这样语义比较清晰,万一以后会扩展呢?当然,如果你头儿坚持要那样做,那作为手下,照办就是了。


以上四点都是摩洛哥人说的,不是我说的
21 楼 icefire 2009-04-21  
justshare 写道
这个话题得从现在的项目经理的一个言论引出来。

按照PM的说法,“我是简单原则的支持者”,云云, 那么,让我们来看一下这些简单的原则是什么吧!
1- 尽量减少接口和类的数量;
2- 尽量不用接口;
3- package不要太深,也不要太多;
4- 远程之类全部使用EJB(2.x);

等等

其实这个扯得多了,呵呵,这个话题是跟第三点有关,要开发一个功能,框架代码完成后,剩下的就是根据具体功能给出实现类了,这个应该算是常识,将所有这些实现类单独放在一个package下,既便于管理,语义上也比较好理解,但是那,[color=red]这样的提议(真不算啥提议)让人家给踢回来了,呵呵,我真的不知道说啥好[/color]


这一段,我看了几遍,还是没弄明白到底是你说的还是PM说的,可能我的理解能力有问题罢。
另,我个人觉得最好还是要分得详细点,这样语义比较清晰,万一以后会扩展呢?当然,如果你头儿坚持要那样做,那作为手下,照办就是了。


万一以后扩展,那就重构好了。。。只是万一,所以还不一定有机会给你实践重构。。
20 楼 justshare 2009-04-21  
这个话题得从现在的项目经理的一个言论引出来。

按照PM的说法,“我是简单原则的支持者”,云云, 那么,让我们来看一下这些简单的原则是什么吧!
1- 尽量减少接口和类的数量;
2- 尽量不用接口;
3- package不要太深,也不要太多;
4- 远程之类全部使用EJB(2.x);

等等

其实这个扯得多了,呵呵,这个话题是跟第三点有关,要开发一个功能,框架代码完成后,剩下的就是根据具体功能给出实现类了,这个应该算是常识,将所有这些实现类单独放在一个package下,既便于管理,语义上也比较好理解,但是那,[color=red]这样的提议(真不算啥提议)让人家给踢回来了,呵呵,我真的不知道说啥好[/color]


这一段,我看了几遍,还是没弄明白到底是你说的还是PM说的,可能我的理解能力有问题罢。
另,我个人觉得最好还是要分得详细点,这样语义比较清晰,万一以后会扩展呢?当然,如果你头儿坚持要那样做,那作为手下,照办就是了。
19 楼 fujohnwang 2009-04-21  
skydream 写道
1- 尽量减少接口和类的数量;
2- 尽量不用接口;
3- package不要太深,也不要太多;
4- 远程之类全部使用EJB(2.x);

这样做的后果,当程序逐渐增大时,尤其对于大型系统,比如开发人员>10甚至>100,维护代价直线上升,直到忍无可忍直接废弃。

俗气一点的说:这样的破事,我见识的多了,这样的代码我看着就觉得恶心


那看来你我属于同道中人,哈哈

顺便几年一下今天Javaeye被黑...
( 主要是我第一次看到 ;-) )
18 楼 skydream 2009-04-21  
1- 尽量减少接口和类的数量;
2- 尽量不用接口;
3- package不要太深,也不要太多;
4- 远程之类全部使用EJB(2.x);

这样做的后果,当程序逐渐增大时,尤其对于大型系统,比如开发人员>10甚至>100,维护代价直线上升,直到忍无可忍直接废弃。

俗气一点的说:这样的破事,我见识的多了,这样的代码我看着就觉得恶心
17 楼 fujohnwang 2009-04-20  
logicgate 写道
在绝大多数软件公司,你都会面临到杂草丛生的局面。


对于这中情况,有个术语,叫做Big Ball of Mud


16 楼 logicgate 2009-04-20  
在绝大多数软件公司,你都会面临到杂草丛生的局面。除非你公司只有一两个人,你的系统只有几万行代码,不然想要一个整洁有序是很难的。作为组员,保证自己60%的时间不是在增加杂草。作为TL,保证系统60%不是杂草,这就够了。软件就像人生,不能追求过度完美。
15 楼 wangdi 2009-04-20  
fujohnwang 写道
wangdi 写道
fujohnwang 写道
wangdi 写道
呵呵,有时候该不该这样做,不是因为这样做对不对,而是你有没有话语权或者决定权。。。
慢慢就习惯了。。。


that's it!

another point is, if you want your garden to be clean, then u need take care of it with more caution and never give it up.

是的啊,,偶目前也处于你一样的状态,在合适的时候提一个合适重构建议是最重要的。。。


呵呵,现在都是出了问题找我,而不是在之前就堵死...

能忍就忍,不能忍就闪人………… 
14 楼 wangdi 2009-04-20  
hocus 写道
重构-改善xx 书里的建议是:
重构不要让pm知道

这个,,基本等同于找死。。。。
13 楼 fujohnwang 2009-04-20  
laiseeme 写道
知足吧  还没让你修改1万行代码的类呢


我哥们已经因为类似的体验而闪人了,呵呵,可能还是他当时看到的东西更加惨不忍睹
12 楼 fujohnwang 2009-04-20  
wangdi 写道
fujohnwang 写道
wangdi 写道
呵呵,有时候该不该这样做,不是因为这样做对不对,而是你有没有话语权或者决定权。。。
慢慢就习惯了。。。


that's it!

another point is, if you want your garden to be clean, then u need take care of it with more caution and never give it up.

是的啊,,偶目前也处于你一样的状态,在合适的时候提一个合适重构建议是最重要的。。。


呵呵,现在都是出了问题找我,而不是在之前就堵死...
11 楼 wangdi 2009-04-20  
fujohnwang 写道
wangdi 写道
呵呵,有时候该不该这样做,不是因为这样做对不对,而是你有没有话语权或者决定权。。。
慢慢就习惯了。。。


that's it!

another point is, if you want your garden to be clean, then u need take care of it with more caution and never give it up.

是的啊,,偶目前也处于你一样的状态,在合适的时候提一个合适重构建议是最重要的。。。
10 楼 laiseeme 2009-04-20  
悄悄滴进村,打枪滴不要
9 楼 hocus 2009-04-20  
重构-改善xx 书里的建议是:
重构不要让pm知道
8 楼 laiseeme 2009-04-20  
知足吧  还没让你修改1万行代码的类呢

相关推荐

    杂草丛生HTML5网站模板

    "杂草丛生HTML5网站模板"以其独特的设计概念,将自然元素与数字世界结合,创造出一种独特的用户体验。这款模板以野草为主题,旨在通过视觉上的亲近自然来吸引用户,提升网站的吸引力。 首先,我们来深入理解HTML5。...

    html5模板-杂草丛生HTML5网站模板.zip

    这个模板的设计理念可能源自自然元素,通过“杂草丛生”的主题,营造出一种独特且具有个性化的网站外观,吸引用户注意力并提升用户体验。 HTML5是超文本标记语言的最新版本,它在结构、语义和功能上进行了重大改进...

    杂草丛生HTML5网站模板是一款野草到处生长的HTML5网站模板下载。.zip源码资源下载

    杂草丛生HTML5网站模板是一款野草到处生长的HTML5网站模板下载。.zip源码资源下载杂草丛生HTML5网站模板是一款野草到处生长的HTML5网站模板下载。.zip源码资源下载 1.学生做毕业设计用 2.程序员学习研究用 3.小公司...

    杂草丛生HTML5网站模板是一款野草到处生长的HTML5网站模板下载 .rar

    这款名为“杂草丛生HTML5网站模板”的资源,正如其名,旨在为网站设计带来一种自然、生机盎然的感觉,通过将野草生长的元素融入到网页设计中,创造出独特的视觉体验。 模板是预设计的网页布局,包含了HTML、CSS...

    杂草丛生HTML5网站模板是一款野草到处生长的HTML5网站模板下载。_html网站模板_网页源码移动端前端_H5模板.rar

    "杂草丛生HTML5网站模板"显然是一个以自然元素为主题的设计,通过使用HTML5、CSS3以及可能的JavaScript技术,创造出一种野草蔓延、生机勃勃的视觉效果。这个模板特别适用于那些想要展示自然美、环保理念或者户外活动...

    html5pc静态模板 杂草丛生HTML5网站模板 (含响应式).rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    三年级下册《小蓝裙的故事》.ppt

    第三次不协调出现在庭院,杂草丛生的环境与整洁的家居格格不入,强调了公共空间的维护也是每个人的责任。最后,邻居们的房屋与小女孩家的差距,反映出社区整体美观的必要性,以及人与人之间的相互影响。 故事中的四...

    杂草识别_matlab杂草识别_杂草识别_基于数字图像处理的杂草识别_杂草图像_作物识别_源码

    在本文中,我们将深入探讨如何使用MATLAB进行杂草识别,这是基于数字图像处理的一种有效方法。MATLAB作为强大的计算和编程环境,尤其适合处理图像分析任务,包括作物与杂草的识别。以下是对该主题的详细阐述: 一、...

    30套移动开发HTML5网站设计模板HTML5网页模板设计素材资料1.zip

    15.杂草丛生HTML5网站模板 16.楼房图纸设计网站模板 17.卡通清爽HTML5网站模板 18.佛教寺庙HTML5网站模板 19.欧美风范HTML5网站模板 2.粉色大气HTML5商务模板 20.wordpress清新Minty主题 21.HTML5教育类网站模板 22....

    田间杂草图像数据集-杂草检测或分割

    田间杂草图像数据集是计算机视觉领域中用于植物识别,特别是杂草检测与分割的重要资源。这个数据集专门针对杂草的识别问题,包含了多种不同类型的杂草图像,为机器学习模型提供训练素材,帮助算法理解并区分不同的...

    机械铲除杂草工程施工组织设计方案.doc

    由于长时间未开发,杂草丛生,存在消防和治安隐患,因此,及时清除杂草至关重要。工程具有大面积、多区域的特点,具备基本的施工条件,如水电接入。 二、施工方案编制依据与标准 施工方案基于国家和地方的工程测量...

    地形工具:Flora 2.0 v2.0.13

    专为 Unity 2021.3 及更新版本设计的高效实例化渲染系统,它能够帮助开发者在不牺牲性能的前提下,为游戏环境添加大量的植被和...开发者可以创建复杂的 Prefab,如杂草丛生的建筑或详细的植被区,为场景引入更多变化。

    杂草算法 求最小值

    通过编写杂草算法来寻找到一个二元函数的最小值

    入侵杂草算法matlab源代码

    入侵杂草算法(Invasive Weed Optimization,IWO)是一种基于生物生态学原理的全局优化算法,由伊朗学者在2009年提出。该算法灵感来源于农田中杂草的生长和扩散过程,模拟了杂草如何竞争资源、适应环境以及进行随机...

    论文研究 - 静压充气堆肥法处理食品和庭院废物堆肥

    杂草丛生法,解决苍蝇和异味困扰的问题。 在约498 m3的堆中,温度变化是在强制通风49天期间评估的主要参数。 随后,将一部分ASP材料(62 m3)进行44天的固化,记录温度和湿度的变化。 二氧化碳和挥发性氨排放物分析...

    基于深度学习的白菜田杂草分割.pdf

    深度学习在农业领域的应用是一个热点研究方向,特别是在农作物与杂草识别和分割领域。本文着重讨论了如何利用深度学习技术,特别是Mask R-CNN算法,对白菜田中的杂草进行自动识别和分割,从而提高田间除草的效率和...

    北仑港区秋季本底杂草种类调查与分析

    北仑港区秋季本底杂草种类调查与分析的研究工作,主要涉及了对外来杂草种类的识别与分类,以及对这些杂草对当地生态影响的研究。以下是从标题、描述、标签和部分内容中提取出的主要知识点: 1. 杂草种类调查的概念...

    水稻与杂草分类数据集

    标题中的“水稻与杂草分类数据集”是一个用于图像识别任务的数据集,它特别关注的是区分水稻和杂草。这个数据集包含1200张图片,每张图片都代表了水稻或者一种特定的杂草。这样的数据集是训练机器学习,特别是深度...

    杂草算法 matlab程序.rar

    "杂草算法(WCA, Weed Algorithm)是一种模拟自然界中杂草生长过程的优化算法,由J. J. Gao等人在2006年首次提出。该算法灵感来源于杂草的竞争、生存和繁殖特性,旨在解决全局优化问题。MATLAB作为一款强大的数值...

    机械铲除杂草的工程施工组织设计方案设计说明.doc

    同时,为了确保施工安全,项目团队还将实施一系列的安全保证及文明施工措施,比如设立安全警示标志,进行定期的安全教育,以及保持工地整洁有序。 应急措施的规划是预防和应对可能出现的意外情况,如机械设备故障、...

Global site tag (gtag.js) - Google Analytics