入职学习(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)由于很多产品相关的重要数据都是放在数据库中的,因此在对数据进行操作的时候要格外小心,不要随意更新或删除一些重要表中的数据。

目录
相关文章
|
4月前
|
前端开发 JavaScript Java
2023,半路转行程序员的第一年
键盘敲着总结,抬头看桌面的日期,转眼间来到了 2024 年,时间就这么悄悄的流逝。本来想 12 月底就把总结给写完的,结果一拖,拖到了 2024😂
52 0
2023,半路转行程序员的第一年
|
机器学习/深度学习 算法 小程序
双非硕士的辛酸求职回忆录: 第 3 篇 也谈谈校招项目面试究竟该注意什么及我是如何准备开发项目的
双非硕士的辛酸求职回忆录: 第 3 篇 也谈谈校招项目面试究竟该注意什么及我是如何准备开发项目的
239 0
|
算法 Java Android开发
黄小斜:我的成长史,关于考研,求职与写作的那些事
阅读本文大概需要 9.96 分钟。 今天和大家分享一下我的故事,相信老读者都比较了解,恰逢今天是公众号首次发文一周年的纪念日,借此机会,重新向大家介绍一下我的经历。 1. 从小到大,我的成绩都只能算中等。
|
架构师 Java 程序员
程序员迷茫:毕业时就已26,工作4年就已大龄,码农出路在哪?
为什么很多公司不招大龄码农,这个问题最近很沸腾,初看这个问题时扎心了,终有一天,我们都会成为大龄码农,那么首先定义下大龄码农,一般认为是35岁以上。按现在推算是1983年(含1983)前出身的。有很多还在一线开发,有些已经是中高层管理人员了。
2280 0
|
人工智能 程序员
为什么都瞧不起培训班出来的程序员?
​ 来源:CSDN程序人生 培训机构出来的程序员怎么了? 不怎么,就是容易招偏见! 某培训机构毕业的程序员大雄,和同班同学,一起伪造学历和经验,被HR发现后,全部被开除了。 而我在北京某大型培训机构(以下简称“五洲”,当然这个只是一个代称,事实上没有这个机构名称)工作的15个月,亲眼见证了,一个个高中生甚至初中生,如何经过12个月的培训,“速成”为月薪N万的西二旗码农。
|
算法 Java 应用服务中间件
java开发,入职半年。对未来迷茫,如何发展?
工作三年多,就个人方面而言,很多的工作都是面试造核弹,工作拧螺丝。但是不要因为自己是个拧螺丝的就不学哪些难啃的技术。当项目出问题的时候,就是考验技术沉淀的时候。
1235 0
|
前端开发 程序员
招聘本科程序员好,还是专科有经验的程序员?网友答案很现实!
大家可能已经发现,最近几年来的各种招聘,很多岗位都要求本科以上学历,小型的创业互联网公司艰苦的工作岗位,才有部分专科岗位 。这对于专科生来说,看下面这位HR的经历着实郁闷,怎么破? 网友评论: 也...
1198 0
|
程序员 Android开发 iOS开发
程序员神级跳槽攻略:什么时候该跳?做什么准备?到哪里找工作?
1、引言 每年的3、4月份都是求职高峰时期,目前已进入6、7月份了,你已经成功换工作了吗? 这次我们想聊的,就是程序员跳槽这件事儿,我打算从三个方面来说: 1)程序员什么时候该跳槽? 2)跳槽前你需要做的准备工作? 3)到哪里找跳槽机会? 学习交流...
2178 0