DotNet.Common 命名空间的来源说明
2009-02-07 02:08 通用C#系统架构 阅读(13649) 评论(40) 编辑 收藏 举报
通过命名空间的细微差别,很直白的讲个人的那么点儿小算盘、个人的小利益与公司的大利益
搞IT软件很多年了,大家也都会有个人的终极梦想,能有个属于自己的理想化的IT公司,只要不让我亏钱,这个公司是在按我的意愿、理想化的在运转,又有很多人在按我的思路开发软件,又用了我的很多成熟的开发思想,就是一个月我只有5000元的纯利,我也很开心,只要够我生活就可以,当然能赚大钱,买宝马、
买别墅、还有N多年轻美女每天围绕在我身边,毕竟我才30岁我会这么想的,可能40-50岁了梦想里彻底没这个美女这个念头了,我老婆的同事跟我讲,男人只有2种,一种是色男,另一个中很色的男人,不知道屏幕前的帅哥你是归类到哪个里,哈哈 :)。
由于家境及出生环境的原因,说白了更多的是由于我们个人的能力还不过关,自己去赚钱开公司还真得饿死,所以只好屈才了打工,毕竟打工老板会每个月按时发工资,不管公司有没有项目,不管这个月是不是又偷懒了半个多月,毕竟谈工作就累啊。打工生活会有保障,干得勤快些听话些,还可以多发点儿奖金,但是我永远不会甘心会觉得我一定可以,会想等到哪一天,我有能力了,开一个公司绝对会比现在的公司开得好,至少我更了解程序员应该怎么管理,其实这些都是谬论,很荒谬。
由于这些个人的小九九的作怪,做公司安排的工作,不是我的目的不是发自内心的喜欢干,做领导安排的事情,不是我的梦想,刚开始啥也不会时,为了学技术还努力,说白了是为了技术技能的提高、还有就是对技术的好奇心是驱使我们的核心动力。
再过2-3年了,总结出来,做管理软件其实就能实现添加、删除、修改、查询列表就可以了,整天搞来搞去就这些,遇到厉害一点儿的公司,有标准的框架及模块样例,你会说啥也学不到,这个更是天大的谬论,你真的把你眼前的框架的核心思想,如何做,都掌握了嘛?说白了,你都没仔细认真从头读到尾,里面的什么问题是如何处理等,好像跟你没关系一样,这些你就学不到一样,啥都没仔细看没仔细想,全中国人都总结出来“啥也学不到”我做日本外包,我学到了很多很多,是非常的多,不是一般多,我只能这么讲,光NEC公司的分层架构我研究了1个月,说白了我很多现在的做法,也都是借鉴了当时NEC的思想,甚至我的整个架构都是按NEC的架构,当时这个架构也是日本微软为NEC架构的,并不只是NEC工程师的成果,我把我能读到到我能看到的源码,我都研究了个彻底,到今天为止我还没见过那么好的架构,什么网上主流的我几乎都看过一些,当然不能说都看过。
遇到比较糟糕的公司管理软件搞得一塌糊涂,自己也会渐渐迷茫,也干得很累,分工也很乱。开发人员稍微技术会了吧,就开始不听话了,也不好好干了,能看新闻就看新闻,能聊QQ就聊QQ,工作能磨蹭一天就磨蹭一天,心目中总会勾画一个理想化的系统,让你拿出来吧,你也啥也拿不出来,让你用别人的吧,谁也不服来一个排斥一个,然后会抱怨在公司里啥也学不到,待遇还很低,几年后就变成老油条了,超级能跟上级打太极,就寻找那个公司干得又少,给得有多,公司又大,前途又好,天天投简历,跳槽这里也不满意哪里也不满意,站在这个山上,望过去那个山更高,最好是能去微软、IBM工作,天天疯狂阅读技术,看技术文章,时刻给自己做好充电,就是不喜欢干活,累,烦。
若这期间水平好的,给客户做项目时表现好,跟客户关系也不错,工作7-8年了,手上总会积累一些客户资源,然后这些客户为了省钱,会绕过公司找你个人开发一些小东西,这时候,你才会逐渐体验原来完整的架构一套系统还真不容易,因为全靠你自己折腾,折腾得很累,晚上干了很久很久,白天到公司了就打瞌睡,不去上班吧,扣工资,请假吧,老请假不好,你平时并不重视公司里的架构及整体的处理,说白了你眼里那些都是垃圾代码,更何况公司的事情跟你无关,能少做一点算一点儿,因为你心目中有更完美的想象,有朝一日你要自己搞个完美系统现在你只是还在酝酿学习阶段等不了多久的,这个系统就出来,也是我出名之日,但是你啥也搞不起来,嘴巴说说,脑子想想是可以的,但是你自己弄不出来的,犹豫你还有些资历了,说话也些分量,但是就你牛,其他的人都不行要么这里有缺点要么那个问题
你解决不了,都懒得跟你交流,因为你根本不可能解决的事情,我想好几年也没能解决啊,你这时候已经是老顽固了。
工作几年后你会陆续接到一些客户的小订单,这些订单都大同小异,你自己也会开始琢磨自己的模块的通用性,但是你完全靠这些小单子,不知道啥时候有单子饿一顿饱一顿,靠这个生活也没有保障,说白了一年的加起来的收入,也没公司发给你的工资高,所以你又不能辞职干这个小单子,但是穷啊,为了赚点儿钱,你还要买房子,还要在这个城市立住脚,房价有这么贵,你只能拼命努力赚钱。
公司里是一套,你自己是一套,若你是这个公司的技术骨干,你就希望这些东西不要乱改,因为乱改了还要让你折腾的东西多了,所以你会奋力阻拦这些改进,并且你以前也为公司也开发了很多东西,那些东西还要修改,会产生很多工作量,所以你死活不修改,一是你比以前变懒了,老了,说不定已经成了公司发展的绊脚石了、核心阻力了。
若你是公司的小兵,你可能平时维护公司的东西,业余时间,你可能也想架构一个系统,可能也接了小单子,用了公司的一些架构或者一些组件,这样大家每个人都搞了自己的小山包,经常在维护自己的小山包,有明的有暗的,大家都很累,效率也高,因为力气没往一处使,经验成果没有积累到同一个山包上。
我觉得这时候当领导的心胸宽一些,尽量别让大家个子搞个小山包,公司的东西,有些没啥重要的你也可以私人用,你私人的项目里发现公司的东西不好有缺点,也别太自私,把公司的东西也改进一下,提提意见,因为开发项目早晚会遇到各种问题,今天不解决明天也需要解决。
以前我的命名空间都叫 ESSE.Common.* 什么什么的,给自己用、给私人的小项目用吧,好像犯罪了一样,其实里面的东西都是我辛辛苦苦写出来的,给客户这么发布吧,好像是偷了公司的东西似的,拿给客户了一样心里更不爽,那我们的其他同事吧,更不理会这个 *.Common.* 了,大家都要搞自己的,因为在他的眼里,那是你的东西,我才不想用呢,我比谁差,难道这些我不会搞嘛?其实未必能搞得好,他自己又搞一个小山包,然后业余时间不断完善,最后还是超越不到哪里去,大家都在重复搞这些东西。
我经过了3年多的琢磨,这个东西干脆叫 DotNet.Common.* 吧,源码也公布了吧,你直接拿过去用吧,公司也用这个,个人也用这个,大家都往这么一个山包上积累经验吧,大家力气都往这个一个方向用力,改进完善这么一个东西吧,大家的工作效率就提高了,大家的生活质量也提高了,大家都在互相帮忙了,可以积累大家的精华。
若一个公司的赚钱能力跟个人行为竞争,若一个公司不能最大化员工的利益,我想这个公司也没多大发展潜力及竞争优势,连个人就打败一个公司了,这个公司说不定早晚要关门的,因为个人行为就可以了,没必要搞那么复杂了,开公司成本更高。ESSE.Common.* 修改为 DotNet.Common.* 什么后,我心里爽了很多,就没有啥罪恶感了,不管大家自己玩技术还是自己接的小项目里都可以用了,因为这个命名空间很爽哦,发现了错误也会跟我及时反馈,我来统一修改就可以了,或者他们会告诉我,如何写会更好一些,把大家的积极性也带动起来了,我才不会计较你是在做公司项目时发现的错误,还是偷偷搞你私活时发现的错误,只要你在正常的8个小时里好好干公司的活儿我就睁一眼闭一眼。
我想心放宽一些,也可以把一些矛盾化解好,重要的是你是不是深入就研究,想了个方面的利益平衡,一个细微的改变,可以方便大家,给大家带来开心,也有利于公司,我可能太啰嗦了,我的意思是,就连命名空间的细微差别也是一个很深奥的学问,更何况一个部门的管理,那水就更深了。
公司的业务永远不要与个人竞争,公司的利益有时候跟个人的利益也没啥冲突的,你自己以接的小项目,也别太自私,公司有类似的需求时也直接拿过来吧,毕竟你也受到了这个公司的恩惠,老板不管有没有单子也给你发工资了,你也要想一下老板亏钱的时候。
我的终极梦想,也是大家开发的软件都能互相兼容,别买70-80套软件,我要记忆70-80个用户名密码,70-80个页面操作方式,70-80个系统还需要很庞大的维护人员来维护,要培训70-80个系统的后台管理,不要制造电子垃圾,不要给人家制造麻烦,软件系统是为了提高生活质量,是为了提高工作效率,但是一个庞大的集团公司,经过多年,前后上了几十套系统了,那真的是一个噩梦,头疼的包袱,也是个公司发展过程中的重大累赘。
一个规模稍微庞大的软件开发公司,一年开发20-30个项目,每个项目各搞自己的一个小山包,对个人来说省事,对项目组来说省事了,对整个公司来说是在制造噩梦,一个项目的开始,是另一个头疼问题的开始制造了另一个麻烦,同样给你的顾客上帝也制造了麻烦。
我可能又说大话了,我感觉开发普通的管理性软件真的玩一样简单,为什么一个在校生强的都能做出来个垃圾管理系统?意思是不难,但是现在做那个管理系统的公司,老板日子好过,那个公司的开发人员日子过得很轻松?本来这东西就不是高科技,所以我们开发管理类的软件也不值钱,所以我们的月收入就那么低。夸张的说,一个公司只有有一个很厉害的家伙,大家积极主动多听听他的培训,多按他的统一思想来开发软件,哎理想化了一些,一个公司,就有一个牛人就可以了,只是开发这个角度。
经营公司才是学问,管理公司是学问,但是我们为什么还是弄不好,我们很多人价值观不同,个人那么点儿小算盘,小九九在作怪,大家都肯干一些,多一些牛的思想,绝对多就改嘛,积极主动嘛,不要非要搞个阻力,你都感觉到人家说得对,就听进去一些,拿出来东西,给他演示一下,为什么这么做会更好,别太封建,别太国企,别太顽固,别太倔强,别太好胜,多为公司着想,多为整体着想,别老是太多借口,借口有时候是发展前进的绊脚石。
我一个朋友跟我讲:
命名空间我都改了好几回了
到一家公司,就改一回命名空间
我现在在家,我就用 ??? 开头了
=============================
朋好友看过文章后讲:
DotNet.Common.* 命名空间就改成这个嘛,
没什么地呀?
我无语了,居然你觉得啥都是你的强你都有这样的价值观,
我对我们的价值观无语了,我写了这么多,你不能体会我
的心思?我的用意?
人和人有啥天大的差别?都是长得差不多,为啥有些人就
是老板?价值观念就不一样,点点滴滴上的差距多了,就
是距离产生了。
你读过我这个文章,就不会有这个事情发生了,就用一个命名空间就可以了,大家写的程序还逐步兼容起来了。
说得太啰嗦了,欢迎技术不是很强的公司,管理混乱的公司咨询,在开发方面没有整体思想规划的老板咨询。
以上所讲数据库访问类的 源码在以下文章里下载,我会再按大家的改进意见改进一次,软件是分层的,好处是
我修改完善了,并不影响这个架构上的开发的其他业务模块,这是分层分工的最大好处之一。
http://www.cnblogs.com/jirigala/archive/2009/02/05/1384547.html