入职学习(3)--一个程序员的成长史(23)

简介: 看完了《C语言编程规范》,代是雄接着看《数据库编程规范》。之前赖科长和邹总都说过,本项目组开发主要涉及到的技术就是C语言和数据库,既然有了C语言的编程规范,那么就会有对应的数据库的编程规范。

看完了《C语言编程规范》,代是雄接着看《数据库编程规范》。之前赖科长和邹总都说过,本项目组开发主要涉及到的技术就是C语言和数据库,既然有了C语言的编程规范,那么就会有对应的数据库的编程规范。顺便说一下,在很多项目组中,大家都将数据库文件称之为脚本文件。

遥想自己的在校生活,代是雄在本科的时候根本没有接触过数据库,只是听人说过有SQL这样一种编程语言存在;在研究生阶段,代是雄选修过一门叫做“高级数据库技术”的课程,但这门课只是涉及到数据库相关的理论知识,几乎没有具体的程序编写相关的内容。这下看到了数据库的编程规范文档,代是雄反而觉得有点莫名的紧张了。

不管如何,“箭在弦上,不得不发”,既然以后要用这个技术了,那么摆在眼前的就只有一条路,那就是学习。打开文档之后,代是雄发现这个规范文档也有40余页,共8章内容,包括:基本原则、文件命名及脚本内容、脚本中代码布局、注释、命名规则、DDL语句基本规范、DML语句基本规范和数据库的维护规则。

第一章“基本原则”涉及到数据库编程的一些基本原则和指导思想。同C语言编程一样,数据库编程仍然要遵循一定的规则,这些规则主要包括:1)首先是为人编写数据库程序,其次才是计算机;2)保持代码的简明清晰,避免过分的编程技巧;3)数据库编程时必须重点考虑效率;4)尽可能复用和修正老的代码;5)尽量减少同样的错误的出现次数;6)坚持零缺陷的开发思想,杜绝脚本文件中出现低级错误。正所谓“大道至简”,上述这些原则虽然看起来比较的简单,也似乎是一些常识性的东西,但却为数据库开发提供了参照。

第二章“文件命名及脚本内容”涉及到脚本文件的命名及脚本内容的规范。脚本文件的合理命名增加了脚本文件的可读性和可维护性,脚本内容的正确编译执行是数据库编程的基础,各脚本文件的内容规范是项目产品稳定的基础。具体而言,项目产品中各模块的脚本命名和内容要统一规划,防止定义的数据库对象冲突。也就是说,在编写具体的脚本内容之前,我们要明白脚本文件该怎样命名,内容该如何规划和布局。

第三章“脚本中代码布局”涉及到具体的数据库代码的布局规则。规范脚本文件的代码布局的目的是使得脚本具备良好的逻辑结构,以提高脚本的准确性、连续性、可读性和可维护性,更重要的在于提高产品的开发质量和效率,降低开发成本。同时,对于每个开发人员来讲,养成良好的脚本编写习惯有助于提高自己的数据库脚本编程水平,提高脚本编程效率。因此,统一的、良好的脚本代码布局和风格不仅仅是个人主观美学或形式上的问题,而且影响到产品的质量,更涉及到个人脚本编程能力的提高。本章的主要内容包括:文件布局、内容基本格式、对齐、空行空格和断行等。

第四章“注释”涉及到脚本文件中注释的书写规则。脚本中的注释有助于理解代码,有效的注释是指在代码的功能、意图层次上进行注释,提供有用的、额外的信息,而不是代码表面意义的简单重复。一些有用的注释的书写规则包括:1)脚本文件头部必须进行注释;2)每段完成一定功能的脚本前(如创建数据表、存储过程、任务、插入缺省记录等),均应有注释说明;3)创建数据表中每个字段后应有注释(说明字段含义);4)保证代码和注释的一致性,修改代码的同时要修改相应的注释,过期的注释要删除;5)注释应与其描述的代码相近,对代码的注释应放在其上方或右方相邻的位置;6)注释与所描述的代码进行同样的缩排;7)尽量避免在注释中使用缩写,特别是不常用的缩写。

第五章“命名规则”涉及到脚本中所有对象的命名规则。命名规则的目的是增加数据库脚本的可读性和可维护性,需要对数据库脚本中的所有对象(包括数据库、表、视图、字段、索引、函数、存储过程、触发器、存储过程中间变量等)的命名做出规范化的约定。一些有用的命名规则包括:1)标识符由26个英文字符、10个数字和下划线组成,不能使用连续的下划线以及在标识符头或结尾使用下划线;2)标识符的命名应当符合“max-information”原则;3)标识符不能使用各种数据库关键字;4)建议存储过程的出参统一用out_开头,而入参统一用in_开头。

第六章“DDL语句基本规范”涉及到DDL(Data Definition Language,数据定义语言)的书写规范。本章对数据库脚本中的常用基本对象表、视图、索引、存储过程、触发器等的定义语法和原则做出了规范。一些有用的规范包括:1)数据类型采用基本数据类型,尽量不要使用某数据库特有的类型;2)建表时,每个创建字段的语句必须单独位于一行,不允许换行或一行多个字段;3)表的主键和外键应建立在业务无关的字段上;4)索引建在选择效率高的字段上,复合索引中选择效率越高的字段越在前面;5)在建表脚本中,当每个表及其索引创建完成之后,要打印语句标识本表已创建完成。

第七章“DML语句基本规范”涉及到DML(Data Manipulation Language,数据操纵语言)的书写规范。DML是指SELECT、UPDATE、INSERT、DELETE四类操作。一些有用的规范包括:1)INSERT语句必须列出字段名;2)DELETE、UPDATE语句必须带WHERE条件;3)除测试语句之外,在正式的脚本中不能使用SELECT * FROM语句,必须列出所要查找的字段,即使是返回所有字段;4)在大批量插入、更新和删除数据时,要分批提交;5)在脚本中要谨慎使用DROP TABLE命令。

第八章“数据库的维护规则”为数据库的日常维护提供了指导和建议。为了保证数据库的平稳运行,在日常工作中必须为数据库做一些基本的维护工作。一些有用的维护规则包括:1)对数据库必须定期进行全量备份;2)对数据库定期进行数据清理,清理前必须完成备份操作;3)定期巡检数据库任务的运行结果日志和数据库最大可用空间。

看完了这个《数据库编程规范》文档,代是雄的收获同样有三:1)数据库编程语言(SQL)同普通的编程语言(如:C语言、JAVA等)一样,也有自己的编写规范;2)对于数据库编程,开发人员不只是要了解相关的编程语言,还要了解数据库的运行原理,还要了解数据库的维护规则,也还要对数据库硬件有所了解;3)由于很多产品相关的重要数据都是放在数据库中的,因此在对数据进行操作的时候要格外小心,不要随意更新或删除一些重要表中的数据。

目录
相关文章
|
2月前
|
人工智能 架构师 NoSQL
24岁程序媛,二战考研失利、三无人员 ==> 最佳新人、优秀个人,讲讲我的技术成长之路
能力、格局、谋略、远见、耐心。灵魂的欲望是命运的先知,希望永远自信、洒脱、松弛、明媚、张扬;追随自己的内心、以喜欢的方式、往正确的方向前行,永远在路上,我甘之如饴! 持续精进Java领域相关技术,包括微服务、高并发、高可用、分布式、集群等等;希望能接触到更多更大的优质项目,逐渐成长为一名具备全栈思维的架构师,既能深入理解底层技术,又能把控全局架构;抽时间了解学习Go语言、人工智能、大模型等领域。 在探索中明晰后续的发展方向,形成自己的一套体系,成为主管、管理层乃至更高,不希望自己的上限只是程序员。
|
6月前
|
数据采集 小程序 程序员
程序员兼职那些事儿
最近周边发生一起程序员兼职引起的纠纷事件,作为一名资深程序员的我也做过兼职,所以不禁思考作为程序员做兼职时的一些套路,以及应该遵循的原则。
|
程序员 项目管理
程序员成长第十九篇:要不要转管理岗?
程序员成长第十九篇:要不要转管理岗?
256 0
程序员成长第十九篇:要不要转管理岗?
|
消息中间件 移动开发 安全
移动开发者升职加薪的8项技能,写给正在求职的安卓开发
移动开发者升职加薪的8项技能,写给正在求职的安卓开发
移动开发者升职加薪的8项技能,写给正在求职的安卓开发
|
网络协议 搜索推荐 JavaScript
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
162 0
双非硕士的辛酸求职之旅--第 5 篇:好开心我进入了面试环节中,那么我该如何自我介绍?
|
程序员
程序员是金饭碗?培训班出身没人要,不造假就没工作?
作为一名想从事开发工作的学员,首先应该将“钱”摆在一遍,将兴趣提到首位,有兴趣自然好,没兴趣就应该培养兴趣,摆正心态,才能学有所成。
8067 0
面试入职工作感悟:在阿里的那些风花雪月的日子
为什么来阿里?听说阿里钱多,所以我就来了; 听说阿里企业文化很好,所以我就来了;看到马云这么帅,所以我就来了; 接到猎头电话,所以我就来了; 我也不知道,糊哩糊涂的我就来了。
6132 0
|
算法 Java 应用服务中间件
java开发,入职半年。对未来迷茫,如何发展?
工作三年多,就个人方面而言,很多的工作都是面试造核弹,工作拧螺丝。但是不要因为自己是个拧螺丝的就不学哪些难啃的技术。当项目出问题的时候,就是考验技术沉淀的时候。
1252 0
|
前端开发 程序员
招聘本科程序员好,还是专科有经验的程序员?网友答案很现实!
大家可能已经发现,最近几年来的各种招聘,很多岗位都要求本科以上学历,小型的创业互联网公司艰苦的工作岗位,才有部分专科岗位 。这对于专科生来说,看下面这位HR的经历着实郁闷,怎么破? 网友评论: 也...
1219 0