权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

表、字段命名的经验分享,这直接关系到整个系统的基础、公司规范、团队沟通协调、开发效率等方面

2009-12-04 13:49  通用C#系统架构  阅读(4707)  评论(37编辑  收藏  举报

   本人技术水平一般,编程水平也一般,人品更一般,哈哈,平时也不愿意深入研究技术细节,最关注的还是,如何才能赚钱,客户最在乎的是什么?客户愿意花钱购买什么?我如何才能满足客户的需求?我做什么方向将来才能有钱赚?

   处了这些以外,对我来说都是对牛弹琴了,我根本不会在乎也不关心,只要不影响赚钱,我也懒得折腾新技术什么的,这些年也一直保持这个心态,所以这些年来经济效益也开始好转,工作的第十年也赚回来了前9年的总和,还把开公司时的损失的几十万也几乎都挽回了,等有空了再把今年的心得体会、总结分享给大家。

    开发软件,最基础就是设计数据库、设计表结构,我英语水平不高、到高三为止学习蒙古文、中文,上大学开始学初级英语,一直到大四毕业时,英语四级也没有能通过,但是工作的这些年里,感觉英语并不比同事差很多,大多数人的英语还不如我,指望这些人把基于数据库的管理系统能命名好也不是很容易的事情,大多都是半斤八两,真正英语好的,也没必要当程序员,赚这么辛苦的钱,有更好的工作会等着那些英语好的高级人才。

 

不同的数据库命名经历大致如下: 

   大概在1998-1999年,在哈尔滨做一个FoxBase的大型财务系统,里面的表名、字段名都可以自动生成、那时候我就很佩服那个高手的编程水平,我的技术垫底也是通过那个项目积累起来的,当时我主要负责把项目转到Foxpro上及相关报表的处理工作。当时的表名也起得很规范,字段名也很规范,例如 BO1、BO2、BO3字段名为 CO1、CO2、CO3 等等,虽然当时没有多少深入理解,十年后想想人家还是蛮厉害的,人家把那个表叫那个名字,那个字段是什么意思,放在一个文件里记录好就可以了,想知道也很容易就可以找到、你说用拼音、用英语?那也是很麻烦的事情。 

   大学毕业后没几年,大概2002 年左右,台资公司里,表明名用英文、字段名用英文简称,我感觉也很有水平,因为不用去找对照表了,直接可以知道哪个表是哪个意思,那个字段是哪个意思,也很佩服人家,但是后来发现了很多问题,这个字段多了,到底哪个简称是哪个意思?那个表到底是什么意思?人很容易搞乱,而且中国人的英文水平,都是用翻译软件翻译的,名词动词,形容词乱来,各个时态估计也乱来,乱成一团,唉,看来对表命名、对字段命名,还真不容易。 

   2004年来到杭州学Oracle,顺便也学习了公司对数据库的设计,这个公司很务实、表名、字段名干脆用中文拼音,也不简写、也不省略,一目了然,只是有的时候会碰上中文拼音一样的字段,这时候用XX1、XX2进行区分,而且这个公司做电力方面的软件,你就是用翻译软件,那些专业词汇怎么翻译,根本不太好找,公司的老板虽然是博士后,但是人家非常务实,干脆用中文命名来搞定问题,而且他们用 数据库设计工具进行整体设计,开发软件之前,先把数据库设计进行论证,PowerDesigner 一幕了然,很清爽,有些字段你搞不明白,稍微想一下就能知道是什么意思,实在搞不明白的,再看看设计文档就可以了。 

   2005年在上海开始接触日本人的外包项目,鬼子命名表名、字段名,也用他们的日本叫法,他们估计也想不明白到底用什么英文来说,所以他们有Excel 的结果对照表,那个表是什么意思,哪个字段是什么意思,写得很清楚,我想鬼子并不是不想用PowerDesigner,但是鬼子不买盗版软件,也不好买这么多正版,也可能觉得中国人根本买不起PowerDesigner,所以他们一方面是照顾我们,一方面是自己节省费用,用Excel进行设计了吧。 

   2006年,我自己创业,接了一个外贸公司的定制软件的项目,那个字段名,英文一大串、有的20-40个字符长,有的甚至是一大片,我怎么命名?用英文?我都看不懂他们的专业词汇,简写?那么长的名字,我怎么简写?到底截取哪个?是动词还是名词,是什么意思也搞不明白,那就用了以前的经验,干脆CO1、CO2、CO3 一直编写到 C70-C80, 客户又不看这个,页面上用长串显示,数据库里用这么简单的,结果这个程序做得非常快,根本就没怎么花心思,到底哪个字段什么意思,看看对照表就可以了,甚至对照表都没有,直接看程序页面就可以了,CO1一搜索,那个页面里,前面是哪个说明?ok了,又简单又省事。 

  2007年,我整理通用的管理类软件基础表结构,说白了就是不管开发什么管理类软件,有那么20-30个表的设计,应该是固定,没什么大变化,其他业务的表就先不管了,这时候我才用了,系统通用的结构表,用Base_下划线开头,这样我就知道这些不是业务表,是系统底层的公用表,开发其他项目时,这些表结构就重复利用了,相关的代码也重复利用了,不用反复设计了。由于是系统性的,通用性的表结构,很少碰到专业术语、都是简单的英文,所以表名字段名,全部用了英文,这样看起来也规范,将来还可以把这个结构卖给老外,用拼音,他们就会晕倒了,根本搞不清楚了。 

  2009年,做一个大型的整体信息化项目,带了一大帮虾兵蟹将,根本不能指望他们用英文命名,很简单,全部用中文拼音好了,懒得搞脑子,全部用 PowerDesigner 设计,一天设计好几个表都没有问题,根本不会为命名表明字段名头大,改来改去也无所谓了,反正没有多大公用性的东西,改了也不影响别人,随便他们搞了,然后用代码生成器狂生成代码,页面狂复制,就这么一个大型的信息化项目,就靠一些菜鸟,搞得好好的,项目也快竣工了,质量也顶呱呱。

 

   现在是想明白了,表名、字段名无所谓,你愿意起什么名字都可以,只要有明确的含义,说明,我若觉得很别扭,自己建立一个视图,映射一下,规范一下也可以,其实怎么存储的思想更重要,怎么划分,怎么个关联关系。 

   你叫我“吉日”,或者叫我“嘎拉”,或者“大恶人”又能怎么样? 只要发钱的时候,别发错地方了就可以了,抓住关键就可以了,以前在表名、字段名上,跟同事也发生过口角,也发生过不愉快,要是现在,懒得争了,只要满足了客户的需求,你就是把字段名命名为“1、2、3、4、5、6、7、8、9”又能怎么样? 只要结构说明文档齐全,思路清晰严谨,易于扩展,易于与其他系统做接口就可以了,客户在乎的并不是表名、字段名,更在乎是的实际操作是否合理?业务处理是否正确?用起来是不是舒服?是不是满足他的口味?页面做得是否赏心悦目? 

   说白了,我现在的设计的系统都有映射功能,我的表结构都可以映射到你的表结构上,我的系统也可能运行正常,因为你的思路足够严谨,我想到的字段,我想到的问题,你很可能也都想过,设计过,解决过,所以你的表结构上很可能我的系统进行一下配置就可以正常运行了。 

   表名、表结构很重要、但是也很不重要,最重要的是把钱能赚得又快又好,客户花钱高兴。

最近工作比较繁忙,大家点击量有些过分导致排名上升过快,不好意思写文章了,请大家见谅。

 

 

 

   很多人说我不要脸只要钱,做业务的太要脸了估计营销是做不出来的,不是只要钱,微软也不会这么有钱了,卖得便宜点儿或白送我们不就可以了?他们也是只谈钱不谈感情的。在老板的眼里,软件都是需要花钱购买的,否则我们公司不是早破产了?哪里来的钱?

   只是我们开发人员不会做生意的多而已,我经常会让我的朋友帮忙,道理很简单,你开个价、什么时候、多长时间给我弄好难题?弄好了我就给相应的辛苦费,虽然五百元也不算多,但是你先收着,好让我下次再找你帮忙,前提是你要把质量要给我弄好,不是糊弄一下就可以了,那不是帮我是害我,我的问题,你可能以前碰到过或者曾经经历过,我自己虽然也能折腾出来,但是我几天时间就浪费了,你一天就可以帮我搞定了,若你每天都能赚500,那一个月可以赚1万多了也不错,而且我经常会有问题需要你帮忙,一个月能解决5-6个问题也可以多赚个3000元。

   我基本上想开了,人活着就是为别人提供服务收取报酬,再拿这些钱去消费购买别人提供的服务,软件程序开发也是一样的,我有一千元,想购买一个高质量的留言板,喜欢了就购买,虽然自己也不知道到底喜欢什么样的,也描述不出来。别人给我理发也收20元一次,我若为别人解决了难题,给别人提供了服务,别人给我20元,我会感谢他,绝对不会想,他鄙视我,才给20元了,理发师若不收钱给别人理发,不知道他们会不会饿死?购买商品得先看看,看了喜欢就购买,马上就购买,马上就成交。而不是你让我提需求,跟你一起确认,你提需求,还让我帮你测试,最后我陪你折腾,最终搞得死去活来,你也累我也累,我还付给你一千元?这说明是我傻还是你傻?我没向你索要设计费、测试费、误工费、培训费就很不错了对吧。

 

   等软件行业发展到一定的程度了,就是我想要啥?愿意买啥?当看到了碰到了所需要的这个软件产品的确不错,我就马上购买签订合同,第二天就可以上线,而不是购钱买折腾,目前有些软件产品已经到了这个程度,彻底到了产品化的要求了。

    例如我们购买一个轿车只愿意花费十万,但是开发一个汽车,建厂、招工、设计、生产、宣传、销售,需要十亿是可能的吧,还不算建设钢铁厂、橡胶厂、钢花玻璃厂的费用,软件产品将来也是一样的道理,我们只是想买车,我不要整个造车的过程,我们喜欢什么车?什么功能的车?什么性能的车?不是我们购买的车子的人都能说得清楚的,我们看了宝马很漂亮喜欢,我们看了奥迪Q7更加喜欢,看了豪华跑车更喜欢得不得了,你说我到底喜欢啥样的?我是无法说得清楚,我想购买的是服务、最终的产品,我不是想购买折腾,我也不想找种地的去购买汽车,不想找卖游艇的那里去购买飞机。

    随着软件行业的分工更加明细、质量也会得到更明显的提高,因为大家做得更专注了、更专一了,可以不断完善这个所分工部分的功能。管理类咨询就是俗话讲的定制类软件开发,也会分工更加细化、更加专业化更加专注。不太可能只靠技术就可以赚钱拉单子,更需要的是在这个行业这个领域类的经验积累、劳动成果积累、项目经验积累。

 

 

 

 

 

导读:
疯狂.NET架构通用权限后台管理工具演示版2.0下载
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 在页面中的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 数据集权限的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级管理
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级授权
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 角色权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 数据集权限 

 

淘宝店地址:
http://shop59297253.taobao.com/

 



C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友