日期:2005年1月26日 作者:蓝鲸
程序如人生,一个人的代码可以看出一个人的个性,确实如此。
程序是艺术?非常象,是一部由精密组成的代码。其实任何工作,任何事物都是艺术,只要我们精益求精,什么都是艺术。
艺术总是在和谐中产生,反对任何的毛疪。一个发的设计,好的灵感总是产生于平和优美的环境中。试想在一邋里邋塌的乱堆的环境,工作心情是多么糟,你可能想着的是快点完成这些手上的活,到外面早点美美吃上一点。
程序员就是这样,优秀的程序员非常爱护自己的代码,他们可能把代码看成跳动的音符,有节凑优美地抖动。可是另一些人呢,可能非常懒,他们总是找借口,他们只是程序员,根本不懂艺术。是真不懂艺术???其它环境里可是艺术得不得了,比如今日的晚上,这里会有许多艺术大师出现呢。
转正话题,我发觉这里一些初学的朋友在设计代码时都存在各种问题:
问题1:代码长短不整,东一个符号,西一个短句,象捉猫似的;
问题2:VB代码大小写没有规律,虽然VB对大小定不敏感,但同一代码中出现这种问题,代码不会美观;
问题3:对变量命名非常草率;
问题4:数据库的设计很不规范,表命名如XSTD,sp_gy,字段名xl,xs等,要不是设计都,非常难懂,可能设计者日子一长也忘了什么意思;
.............
非常多,不罗列了
这里我就数据库设计谈点自己看法:
一、表命名法
数据库的表命名推荐使用英文命名,在以往数据库表的命名中有用"_"作连接符的命名法如:product_detail,student_information,computer_part_list等。不过我个人喜欢用大小写结合的写法,觉得比用连词符看得更清晰,如OrderDetail,ArticleComment,UserRole,OfficeThings等,取名一定要清晰易懂。
表命名可以分组,并用一固定的词表示一组,如
StudentInformation
StudentResult
ForumMember
ForumTopic
ForumDetail
Orders
OrderDetail
另外,可以用"_"表示表的分组
Account_User
Account_UserRole
Account_Permission
Account_PermissionRole
Article_ArticleChannel
Article_Article
Article_ArticleComment
Article_RssChannel
Article_RssSetting
另表的设计可能会遇到复数命名法,如Orders,Channels,Setttins等,个人觉得命名应一惯,不能这里是复数,而那里是单数。我本人喜欢用单数,如User比Users更清晰
二、数据库的字段设计
数据库设计一般都需要一个唯一的ID号作为主键,比如存储主要信息的表,信息详细列表的分表都需要设计ID号。但有些不需要设计,比如是用作连接两个表的中间表,可以不设计ID,如用户表,角度表,用户表和角色表必须设计ID号。在两表中我们可以设计中间表,用户角色表,用以存储每个用户拥有的角色,该表可以只设计二个字段,用户ID及角色ID,用以链接两主表。
ID号的合名法,是表名加ID,如Category表的ID为CategoryID,Account_User表的取名为UserID等。
除ID外,我们有时会遇到Name这个字段,用以标识名称,该字段可能是唯一的,可能重复出现相同记录,但该字段推荐命名法与ID一样,如CategoryName,UserName,ProductName等。
字段的命名与表命名类似,使用大小写更便于阅读。
三、SQL语名的写法
SQL语句,这里出现的是五花八门,写法种类非常多,有大小写的,也有全用小写,也有一会大写,一会小写的。
这里推荐使用SQL固定词用大写,在编程语句中全部出现大写的写法很少,只有SQL才使用,这样在整个程序中,使SQL语句很突出,眼睛也很容易扫描到。用小写就不一样了,比如C系列的编程用小写可能很多,这样代码与SQL就容易搞在一起。
selectCommand = "SELECT CategoryName FROM Category"
+ " WHERE CategoryID IN (12,16)";
updateCommand = "UPDATE Article SET"
+ " Title = @Title"
+ ",Author = @Author"
+ ",Content = @Content"
+ " WHERE ArticleID = @ArticleID"
这些方法代表了个人的喜好,当然每个人喜好不同,程序的表达法也会不同。但这样找出一种方法来,目的只有一个,把程序写得更漂亮。
转载自http://www.mbsky.com/InfoView/Article_3486.html