团队作业(三):确定分工

news/发布时间2024/8/24 9:30:59

一、代码规范和编码原则
明确代码编写的规范和原则是为了保证代码的正确性、稳定性、可读性,过于繁杂或故意展示技巧性的编码方式是无意义的,甚至对后续工作造成影响。

排版:

1.关键词和操作符之间加适当的空格。

2.相对独立的程序块与块之间加空行

3.较长的语句、表达式等要分成多行书写。

4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。

5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。

6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。

7.若函数或过程中的参数较长,则要进行适当的划分。

8.不允许把多个短语句写在一行中,即一行只写一条语句。

9.函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。

10.C/C++语言是用大括号‘{ ’和‘ }’界定一段程序块的,编写程序块时‘{ ’和 ‘ }’应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体 的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、 switch、case语句中的程序都要采用如上的缩进方式。

注释:

1.注释是对代码的“提示”,而不是文档。程序中的注释不可喧宾夺主,注释太多会让人眼花缭乱。

2.如果代码本来就是清楚的,则不必加注释。

3.边写代码边注释,修改代码的同时要修改相应的注释,以保证注释与代码的一致性,不再有用的注释要删除。

4.当代码比较长,特别是有多重嵌套的时候,应当在段落的结束处加注释,这样便于阅读。

每一条宏定义的右边必须要有注释,说明其作用。

可读性:

1.避免使用不易理解的数字,用有意义的标识来替代。

2.不要使用难懂的技巧性很高的语句。

3.源程序中关系较为紧密的代码应尽可能相邻。

函数:

1.函数的规模尽量限制在200行以内。

2.一个函数最好仅完成一件功能。

3.为简单功能编写函数。

4.函数的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。

5.尽量不要编写依赖于其他函数内部实现的函数。

6.避免设计多参数函数,不使用的参数从接口中去掉。

7.用注释详细说明每个参数的作用、取值范围及参数间的关系。

8.检查函数所有参数输入的有效性。

9.检查函数所有非参数输入的有效性,如数据文件、公共变量等。

10.函数名应准确描述函数的功能。

11.函数的返回值要清楚、明了,让使用者不容易忽视错误情况。

12.明确函数功能,精确(而不是近似)地实现函数设计。

13.减少函数本身或函数间的递归调用。

变量命名
1) 变量名的开头必须是字母或下划线,不能是数字。而以下划线开头的变量名是系统专用的。所以为了避免与系统定义的名字产生冲突,在编程的时候,除非要求这么定义,否则不使用下划线作为一个变量名的开头。
2) 变量名中的字母是区分大小写的。

3) 变量名绝对不可以是C语言关键字,如:else、break、return等。
4) 变量名中不能有空格。

以上变量命名规则是C语言语法规定的,必须遵守,不遵守就是错的。除此以外,还有一些约定成俗的变量命名规范。
1.不以单个字母作为变量名。变量名最好要有明确的含义,以提高代码的可读性
2.在实际编程中经常用英文单词或英文单词的缩写来作为变量名,而且缩写也有一定要规则:

通常较短的单词可通过去掉“元音”形成缩写,如 count 可以缩写成 cnt;

较长的单词可取单词中的几个字母形成缩写;

对于一些单词还有大家公认的缩写,比如:

temp 可缩写为 tmp;  //temp是“临时”的意思

flag 可缩写为 flg;  //flag是“标志位”的意思

statistic 可缩写为 stat;  //statistic是“统计”的意思

increment 可缩写为 inc;

message 可缩写为 msg;
如果变量名由多个单词组成而且不用缩写,那么每个单词的首字母全部都要用大写,必要时可用下划线分隔。
二、架构设计

数据平台

无纸化电子公文传输系统以Lotus Notes构造整个系统的管理和传输的平台,公文数据集中存放在统一的Domino服务器中,发送方与接收方之间的公文传输,直接在这个Domino服务器上的不同数据库之间进行复制、拷贝,以确保公文流转的高效性和安全性。公文文件的制作、接收浏览,则通过客户端的终端软件实现 [1]  。

公章管理

电子公章既包含用以显示公章图形的可视信息,又包含用以数字电子签名的RSA私钥数据。电子公章的显示必须要有所属单位的对应RSA公钥数据,也只有正确对应的RSA公钥数据才可以显示出可视的公章图片信息·由于公章可视信息的法律严肃性特点,要求公章显示过程中,其图片信息不能被意外截取。为此无纸化电子公文传输系统对公章图片进行了矢量化处理,确保该图片信息只有在系统环境内部才有效。电子公章的使用同样离不开RSA的加解密操作。公章的主要数据信息通过硬件RSA加密卡存储,没有硬件加密卡设备,也就无法使用电子公章。这样同时可以方便用户以传统方式保管电子公章,如可以将加密卡保存在保险柜中。对于电子公章的使用,该系统提供了严密的日志跟踪措施,所有公章的制作、使用都有详细的日志记录。

红头制作

从外部导入的公文草件是不带红头和公章的。公文红头文件用于对指定文种的公文,套印对应的红头。为此可以通过公文红头管理模块,制作出一组不同的公文红头文件,并建立红头文件与文种的对应关系。红头文件的制作,可以直接以文本形式制作泞旨定好文本内容、字体、位置等有关信息),也可以直接读人扫描件方式制作生成(为了打印输出的清晰度,扫描件必须以指定的500DPI分辨率获取)。制作公文时指定文种并导入公文草件。系统根据文种将对应的红头信息自动添加到公文文件的首页,完成套印红头。

公文制作

公文草件即用以制作公文文件的外部电子文档。是通过外部第三方编辑排版软件制作处理后的输出结果。公文草件所包含的文本内容一般不再需要重新排版,但草件不含公文的红头、公章等信息。公文草件可以是WORD输出的RTF文档,也可以是以本系统的电子公文虚拟打印输出的JWE图片文件。公文的制作就是引入外部的公文草件如RTF、JWE(图片文档),按照草件所属的文种,自动套印相应的公文红头。当RFT格式的公文草件导人时,可以进行简单的二次公文编辑,可以自动校验特定的公文要素是否正确,如版心的设置是否正确、公文文号是否正确、联系人是否具备等等。当JWE(图片文档)格式的公文草件导入时,可进行整版位置调整等操作。当公文草件导入成功后系统需要对导人的数据,通过加密卡的私钥,以时间戳模式进行电子数字签名。经过套印红头、电子签名后的电子文件才真正成为电子公文文件。

公文分发

公文的分发也就是选择收文单位,获取收文单位的加密卡公钥,根据所得的对方公钥对发文进行RSA加密,最后将电子公文文件发送给指定收文单位。

公文接收

收文单位接收服务器上的公文,并转入自己的公文收件箱。为打开公文收件箱中的公文,要以本单位特定的加密卡私钥对收文进行解密,解密成功后,下载获取发文单位的加密卡公钥,以此对解密后的公文进行电子签名验证。通过电子签名验证后,可以确认所收公文来自发文单位,从而保证本地专用的公文,浏览器可解读和阅读收文。公文浏览器在首次阅读收文文件时,可以加盖本单位的收文签收章,这样打印输出的公文即带有本单位的公文签收章。

打印管理

公文的打印分为黑白复印件打印和彩色原件打印两种模式。黑白复印件打印没有打印次数的限制,且可以有选择地打印公文部分内容。彩色原件的打印则有严格的打印次数限制,且每次打印的时间、份数都有详细的日志记录,公文的发送方可以通过网络查询到这些日志记录。

 

三、团队分工:

  1. 公文处理:包括起草、二次编辑、套红等。20211202
    2.在线签署:包括公章管理和电子签名等。20211220

3.归档查询:存档和分类,保证日后可根据关键词进行检索。20211206

4.传输控制:公文的收发过程及过程中需要的加密手段。20211224

5.前端设计:包括界面设计和用户身份验证和权限管理。20211213

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.liansuoyi.cn/news/35344775.html

如若内容造成侵权/违法违规/事实不符,请联系连锁易网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

团队作业(三)——确定分工

团队作业(三)——确定分工 1、修改完善上周提交的需求规格说明书,并在博客中描述:上次的《需求规格说明书》初稿有哪些不足?修改需同时体现在Github的MarkDown文件与PDF中。(提示:功能考虑不全或需求文档描述缺少的地方。)- 分清管理员权限和客户人员- 具体实现内容…

c++ 网络通信加密与解密通信基础

通信来源。信号发送军事需要密码 加密 ,密码棒,玻期码sss 网络用的公钥,私钥

102. 二叉树的层序遍历(中)

目录题目法一、BFS法二、DFS 题目给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。示例 1:输入:root = [3,9,20,null,null,15,7] 输出:[[3],[9,20],[15,7]]示例 2:输入:root = [1] 输出:[[1]]示例 3:输入:root = [] 输出:…

20.7 OpenSSL 套接字SSL加密传输

OpenSSL 中的 `SSL` 加密是通过 `SSL/TLS` 协议来实现的。`SSL/TLS` 是一种安全通信协议,可以保障通信双方之间的通信安全性和数据完整性。在 `SSL/TLS` 协议中,加密算法是其中最核心的组成部分之一,SSL可以使用各类加密算法进行密钥协商,一般来说会使用`RSA`等加密算法,使…

05-I2C详解

目录一. 什么是IIC1. 相关概念和硬件连接二. I2C时序基本单元1. 起始信号和停止信号2. 数据发送和接收2. I2C完整通信过程三. 驱动代码1. GPIO模拟I2C发送数据2. 固件库方式驱动 一. 什么是IIC 1. 相关概念和硬件连接IIC也称I2C,是一个多主从的串行总线,由飞利浦公司发明的通…

fibnacci数列

1.fibnacci数列 由百度百科,斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称“兔子数列”,其数值为:1、1、2、3、5、8、13、21、34……在数学上,这一数列以如下递推的方法定义:F(0…

Linux第五次周总结

第一部分 X-shell怎样连接虚拟机 1、双击进入软件,点击左上角的"文件",选择选项列表中的"新建"。2、在打开的窗口界面中,输入虚拟机的相关信息,比如IP地址与端口号等。 3、并将下方中的"连接异常关闭时自动重新连接"勾选上,点击"确定…

设计模式-策略模式

策略模式:定义一系列的算法,将每个算法分别封装起来,让它们可以互相替换。 策略模式用于算法的自由切换和扩展,它是使用较为广泛的设计模式之一。策略模式对应于解决某一问题的一个算法族,允许用户从该算法中任选一个算法解决某一问题,同时可以方便地更换算法或者增加新算…

while条件语句的运用

count=1while count<=8: print(干活!)#循环输出8次就停止 count+=1运行结果:

android ebpf实现栈回溯

栈回溯原理 利用栈帧 x86通常会使用ebp来保存栈帧,在函数头部首先会将ebp即调用者对应的栈帧保存,而调用者的返回地址就保存在此ebp对应的栈地址+4的栈地址中。这样经过多层函数调用,在内存中就会形成一个ebp链,只要知道当前ebp的值并遍历ebp链就可以找到每一层调用的返回地…

电脑群控版 - iMessage群发,苹果iMessage短信,苹果iMessage推信,完美实现

一、PC电脑版苹果系统(Mac OS)上实现imessage群发总结为以下几种方式: /*MacOS苹果系统,正常情况下,只能安装到苹果公司自己出品的Mac电脑,俗称白苹果,不能安装到各种组装机或者其他品牌的品牌机上,黑苹果的的原理,就是通过一些 “破解补丁” 工具欺骗macOS系统,让苹果系统…

动手构建你的第一个知识图谱 by RDF

本文内容预告 今天分享如何使用 RDF 语言创建知识图谱,一些基本的 RDF 语法规则。 RDF 介绍 RDF 的全称叫 Resource Description Framework (资源描述框架)。它是实现语义网络的三个基础技术之一 (其他两个是 SPARQL 和 OWL)。 它是被 W3C 推荐的一个数据模型:这意味着所有的…

[机器学习复习笔记] RNN 循环神经网络

RNN 循环神经网络 1. RNN 1.1 RNN 示意图及时序展开 此处的 \(\text{RNN}\) 模型采用的是 \(\text{BPTT}\) 算法(随时间反向传播)\(x^{(t)}\) 表示输入层的输入\(U\) 为输入层到隐藏层的权值参数\(h^{(t)}\) 表示隐藏层的输出,激活函数一般为 \(\text{tanh}\) 或 \(\text{Re…

raid——磁盘阵列

RAID——独立磁盘冗余阵列(Redundant Array of Independent Disks) 将多块磁盘组合成一个磁盘阵列组,来提高磁盘的性能或冗余功能 RAID层级不同,数据会以多种模式分散在各个磁盘,RAID层级的命名会以RAID开头并带数字;例如RAID 0 、RAID 1、RAID 5、RAID 1 0...等,每种等…

圆和矩形是否相交

1) 矩形的中心作为原点,建立坐标系。 2) 通过圆到矩形的最短距离<=r来判断是否相交,几种情况 2-a) bc.x>0&bc.y>0时,圆到矩形的最短距离为|bc|,所以|bc|>r则圆和矩形没有相交2-b) bc.x<=0&bc.y>0时,圆到矩形的最短距离为|bc.y|即|dc|,把bc.x=0…

Rockchip RK3399 - DRM crtc基础知识

一、LCD硬件原理 1.1 CRT介绍 CRT是阴极射线管(Cathode Ray Tube)的缩写,它是一种使用电子束在荧光屏上创建图像的显示设备。CRT显示器在过去很长一段时间内是主流的显示技术,现已被液晶显示屏(LCD,Liquid Crystal Display)或其他新兴技术所替代。 在CRT显示器中,扫描电…

【爬虫】一次爬取某瓣top电影前250的学习记录

先贴上爬取的脚本: import requests import re for i in range(1,11):num=(i-1)*25url=f"https://movie.douban.com/top250?start={num}&filter="head={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, l…

nvm 安装及使用

nvm 安装 1. 下载nvm 下载地址 网盘地址v1.1.11 建议下载安装版(install_step)不要选择免安装版(noinstall_step) 2. 安装 (目录不能带空格,否则在使用nvm use 命令时会出错) 1. 验证是否安装成功 可以自定义选择安装目录 nvm -v可以看到安装的对应版本2. 更改国内源 …

陌生的人,欢迎你

无论如何,希望你能够在这里获得你想要的,希望你能有一个好心情。写在前面 我是一个很普通的人,上了一个勉强还行的大学,做了一份勉强还行的工作,并没有什么才能,做事也三日鲜。 所以,也许这个博客会经常更新,也许这个博客只是我现在的心血来潮,谁知道呢? 无论如何,希…

向量点乘判断点是否在线段上

几种要考虑的情况 1) 点p和线段断点a, b重叠,pa•ab=pa.x*pa.y+ab.x*ab.y=0 2) pa, pb共线,则papb=0 2-1) p在线段ab上,此时pa, pb的夹角为180度,cos(180)=-1,pa•ab=-|pa|*|ab|2-2) p在线段ab外,此时pa, pb的夹角为0度,cos(0)=1,pa•ab=|pa|*|ab|4) pa, pb不共线,cos…
推荐文章