`

中国设计人员的悲哀

阅读更多
最近写了一本书,免费放在网上(漫谈设计模式)供大家讨论,两个星期过去了,没有任何人反馈。作者翻看了中国人写的几本关于设计模式的书籍,感慨万千,有的没有参考书籍和文献,有的一些概念完全讲错了(例如IoC,老是只和实例化撤在一起),几乎清一色没有严谨论述,不知道看完对OO能理解几分,和国外的几本书籍相去甚远。

难道中国技术设计人员都如此浮躁?那些OO的大师们,没有一个是没有经过数十年如一日的历练才造就的,中国人都想在一两年或者甚至一个下午把设计模式和OO搞懂,是太聪明了还是太愚昧了?

大家看到技术,往往向技术扑过去,觉得会使用spring,Android就很了不起,可惜看看写的代码,就明白他们还没有理解为什么,也不知道真正能作什么就开始,实用这些技术写的代码,避免重复和扩展性,可伸缩性始终是个遥不可及的神话。

唉,浮躁的社会,每一个技术人员学习两年开发和技术都想爬向管理,我们中国永远不会出现和理解像martin同学,eric evens同学,eric gammar同学等这样的人才。设计方面的经验和技巧,对OO的领会和运用,岂是两三年就能弄懂的!

没事歪歪了几句,惹得多数开发人员不高兴了,先在这里诚挚地道歉了!

发现大家多数都在评论我的书籍,我只是感慨现状而已,至于我的书籍,我觉得最适合的人群是:
1.重复代码照样出现,而且时间总是你和老板的理由。
2.多个模式间你不知道如何选取,感觉都可以。
3.并且你在开发中对模式仍然念念不忘,为了使用模式而设计,不是自然而然由内而发。
4.仍然自负的告诉客户,我们做的就是这样,你的需求无法实现。
5.最后,扪心自问下:什么是OO,OO带给你的什么,你在设计中如何使用OO的,它的封装和粗粒度给你带来了什么,如果这些你懂得话,那你没必要看我的这本书籍了,因为我就是想让大家知道什么是OO,而不是设计模式。
6.如果觉得你现在解决的问题最麻烦的是给领域问题建模,而不是模式,因为你是由内而发,使用/创造模式的,根据问题来的,那么,你的水平高于本书的水平,这里有兴趣我们可以做其他讨论。
分享到:
评论
78 楼 xiexifeng113 2012-07-30  
redhat 写道
gdpglc 写道
你写的书在哪了?
文中的地址“http://redhat.iteye.com/admin/blogs/1007884”进去后,出现如下文字:

您没有权限执行这项操作,请检查登录的账号是否正确



实在不好意思,修改后现在可以点击了,去掉链接里的admin就好了,那个好像只能是博主使用的链接。

还是进不去
没权限
77 楼 shryan_bin 2012-03-26  
其实设计模式是对OOP的一种抽象,一种升华。这个领悟我觉得需要一定的积累,还要去思考,为什么要这样做,他给我们带来的好处是什么。经常看待项目里充斥着if else,里面嵌套了if else又嵌套了if else. 哎,程序员要注重修为啊。
76 楼 jsj09632 2011-12-30  
我看了这本书,写的很不错,再接再励
75 楼 carlosk 2011-12-30  
先拜读,过几天再评论
74 楼 782478585 2011-12-30  
真的感觉  你才是悲哀啊!
73 楼 redhat 2011-11-11  
gdpglc 写道
你写的书在哪了?
文中的地址“http://redhat.iteye.com/admin/blogs/1007884”进去后,出现如下文字:

您没有权限执行这项操作,请检查登录的账号是否正确



实在不好意思,修改后现在可以点击了,去掉链接里的admin就好了,那个好像只能是博主使用的链接。
72 楼 gdpglc 2011-11-11  
你写的书在哪了?
文中的地址“http://redhat.iteye.com/admin/blogs/1007884”进去后,出现如下文字:

您没有权限执行这项操作,请检查登录的账号是否正确

71 楼 gdpglc 2011-11-11  
这年头,赚钱是第一位的,谁管OO不OO。软件如此,其它行业好象也是这样。有一个笑话,一个人问英语老师,山寨怎么说,老师想了想说:"Make in China"
70 楼 xiogxiog 2011-05-05  
我朝的目前成功学,无非就是坑蒙拐骗装疯卖傻无耻臭不要脸。

另外,楼主还是淡定些吧,国外那些软件大牛,不是个人的成功,而是米国整个软件生态的成功,环境造人的,我们这个当前环境注定是出不了什么牛人,也出不了什么圣人,当然,我们可以每个人都去努力一点,做好份内的事,来推动我们整个生态的进步,相对于我朝以后可能会出现的软件牛人,我们这代人还是做好前浪的本份吧。
69 楼 beeke 2011-05-05  
楼主打击面太大了啊
设计模式我已经用了10年了,模式是我程序生涯中最宝贵的经验
愿意学的人自然会学,不求进取之人逼他也不会学
68 楼 kulinglei 2011-05-05  
bestchenwu 写道
nighthawk 写道
我怎么觉得被进度逼的睡在键盘上的人更不会花心思去想什么设计模式?



顶这位哥们 我现在深有同感,每每看到所谓的项目经理背个手到处催进度的时候,我就想立马砸了电脑走人。。。

遇到这种情况,我就靠的说:“这代码写的。。。。无语”,下一个项目一定不能这么写
67 楼 bestchenwu 2011-05-05  
nighthawk 写道
我怎么觉得被进度逼的睡在键盘上的人更不会花心思去想什么设计模式?



顶这位哥们 我现在深有同感,每每看到所谓的项目经理背个手到处催进度的时候,我就想立马砸了电脑走人。。。
66 楼 redhat 2011-05-05  
lancelotly 写道
现在国内行情是技术要服务于业务,如果技术不能很直观反映出生产性的增长,利润的增长,老板不会鸟你的。在国内专注技术的待遇都不甚理想,国内永远是业务值钱。

其实哪里都一样,因为我们从很早前,80年代把,就发现问题域是最应该重视的,所以我们一直强调给问题域建模,熟悉业务,可以看看eric evans的ddd书籍。只不过我们的老板,大多数不是太懂,总是浮于业务的表面而已。业务不是开发者的全部,开发者熟悉业务是比较容易的,但是懂的业务逻辑的人,了解软件和开发,那是相当有难度的!
65 楼 chenkan2000 2011-05-05  
敬佩楼主的精神,支持一下,有空看看你写的书。许多事情需要付出代价才能理解的。
64 楼 java仰望|俯视 2011-05-05  
LZ 说的一些东西我也很赞同
不过这个标题确实有点。。。。
不能说看到一部分人,就说全部是那样的
63 楼 redhat 2011-05-05  
czwlucky 写道
redhat 写道
CaryGao 写道
中国目前的大环境下,浮躁是必然的趋势,技术人员无论在待遇还有地位上都得不到重视.你谈论的设计模式很好很优雅,但是现实的情况是你没有办法把牛刀用在杀鸡上.很多公司不需要所谓多么优雅的代码设计,这就好像你在落后的乡村硬要推广你的别墅高尚生活.国外的技术氛围很好,但你没看到人家起步比我们有多早,很多东西需要时间的积累.


其实我们现在最缺的就是这类技术人才,记起我们很久之前做过的一个项目,使用贫血模型设计复杂领域的问题,早就得结果就是service写了一些逻辑,然后大量的逻辑写在pl/sql上,号称是速度快了,但是,花了那么大的代价维护,加之重复的代码,拿出1/10的钱花在硬件上完全可以解决所有问题(当然没有测算过,一个函数使用pl/sql是快了,但是几万个pl/sql写的逻辑真的比java实现的逻辑快吗?如果一两个处理数据出了问题,我们可以专门为其实现更快的方式——使用pl/sql,这里不再讨论),后来另外一家公司要我们的代码,但是要使用DB2,结果就是根本不可能使用,因为我们大概500左右核心的pl/sql包,有人拿了其中2个packages做重写,写了2个礼拜才重写完,里面的错误不计其数。

相信现在这样的代码在电信/金融保险等领域出现很多(使用贫血模型,大量逻辑都是pl/sql或者其他存储过程实现的)。

国外没有看见在60-70年代,大多数开发人就想做个管理人员发大财,只是我们目前确实太浮躁了。

另外,你说的对,杀鸡用牛刀,其实不是杀鸡用牛刀,是杀牛用牛刀,但是老板不懂,往往告诉你,那是鸡,不是牛。

首先感谢楼主的共享精神!
还没有仔细拜读楼主的书,不敢妄做评论。楼主这里提到的大量使用PL/SQL实现逻辑的例子我也听到有人喜欢这样的做法,不过我也是持怀疑态度,任何一项技术都不可能是完美的,都需要和其他技术结合起来去完成一项工作,各自发挥特长才可以做到相得益彰。我和朋友在讨论这样的问题时,有一个现象是产生赞同使用PL/SQL完成业务逻辑的根本原因,就是大家发现现实中很少出现“切换”不同类型数据库,所以才会采取这样的做法。至少,在同一公司内很少会出现从oracle切换到db2的做法。不过,这里楼主说到的是另一家公司要使用这个系统,而数据库不是同一类型。也许有人会说,这种情况是很少会发生的,我们的系统只是一家公司使用,不会出现第二家,这样的认为会是真的吗?从楼主举的例子来看,这样的认为是错误的。


我说是使用贫血模型会把大部分逻辑做成那样,当然,使用富血模型,如果没有性能等其他情况下,你不需要那样优化的。
我们之前的项目都是大项目,跟着公司走,特别是大公司有成熟系统,不愿意为了一个新的系统而改变其他使用的项目,因为你的只是其中的一个小部分而已
62 楼 redhat 2011-05-05  
george 写道
称赞 一下楼主,请问你的UML图示是用什么软件画的?PowerDesigner?

一款免费软件ArgoUML,PowerDesigner太贵了,买不起。
61 楼 抛出异常的爱 2011-05-05  
nighthawk 写道
我怎么觉得被进度逼的睡在键盘上的人更不会花心思去想什么设计模式?

会想怎么少写代码......设计模式什么的不会去想的
好多代码生成器之类的东西都是这么产生的.
60 楼 nighthawk 2011-05-05  
我怎么觉得被进度逼的睡在键盘上的人更不会花心思去想什么设计模式?
59 楼 抛出异常的爱 2011-05-05  
有五万行代码量之前看一切设计书都是在扯蛋
有维护,修改,跟踪垃圾代码,总量大于100万行之前看一切设计模式都是感觉很有理(但是没有用)

没有被进度逼的睡在键盘上的人不会花心思想怎么减少代码
没有改一个bug一周老板带着菜刀天天在背后盯的人不会明白干净的代码好处.也不会下辛苦去看那些设计模式的书

如果天天只作sql为主要业务的项目也没要考虑什么设计模式.
(我见过一个前台flex后台存储过程的项目)

在公司中职位与工作内容都是架构师的整个iteye有一百个不错了......

相关推荐

Global site tag (gtag.js) - Google Analytics