.net软件日常开发规范-基本标准
一、 基本标准
- 代码和SQL脚本均不要出现无意义的空格和空行。
- 所有SQL脚本确保可以重复运行不出错,添加数据的脚本重复运行不会重复添加数据。
- 能用一行代码或脚本解决的不要写出两行,能用一个方法解决的不要写出两个方法,提高代码的利用率,减少冗余代码。
- 任何地方变量命名不使用无意义的a、b等名称,如人员编号uId,姓名name。
- SQL脚本中的关键字统一使用大写,如INT,VARCHAR,DECLARE,SELECT等。
- 接到需求后复述一遍,然后写出解决方案步骤。
- 如果新需求为新模块,需要写出此模块的数据库设计表、视图、存储过程,画出流程图,写出页面需求分析。
- 页面排版,如果页面上控件较少,使用两列排版,列宽:20%、80%。如果较多使用四列排版,列宽:20%、30%、20%、30%。特殊情况再略调整列宽。
- 控件命名规则,由控件缩写加上列名简单英文翻译,例:姓名文本框txtName
控件缩写规则:TextBox-txt;Label-lbl;RadioButton-rdo;DropDownList-drp;CheckBok-chk; LinkButton-btn; HiddenField-hf; FileUpload-fld。
- 文件命名规则,简单英文翻译加上页面标识,例:工作计划列表WorkPlanList、工作计划新增WorkPlanAdd、工作计划查询WorkPlanSearch、工作计划浏览WorkPlanView。
- SQL脚本命名规则,表格使用简拼字母大写加上表格名称,例“GZJH_工作计划”,视图以V开头,例“V_工作计划”,存储过程使用表名加功能,例“GZJH_工作计划新增”、“GZJH_工作计划审核”等。
- JS命名规则,同使用此JS的文件名,如工作计划的JS脚本为“WorkPlan.js”。
- 新增、删除、修改、审核、提交操作都需要记录操作日志,所有操作如果出错要记录错误日志。操作日志调用方法BLL.WriteOperatLog(模块, 流水号, 名称, 操作) ,模块一般同存储过程名称,注意操作日志保存在一个表中,需要使用流水号来区分不可以使用编号,操作包含“添加”、“修改”、“审核”、“删除”、“提交”。
- 界面上的样式与js脚本对齐格式要注意,用不到的样式与js不要调用。
.net软件日常开发规范-基本标准的更多相关文章
- 百万年薪python之路 -- 软件的开发规范
一. 软件的开发规范 什么是开发规范?为什么要有开发规范呢? 你现在包括之前写的一些程序,所谓的'项目',都是在一个py文件下完成的,代码量撑死也就几百行,你认为没问题,挺好.但是真正的后端开发的项目 ...
- Python3基础(4)匿名函数、装饰器、生成器、迭代器、内置函数、json&pickle序列化、软件目录开发规范、不同目录间模块调用
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- python基础-软件目录开发规范
为什么要设计好目录结构? "设计项目目录结构",就和"代码编码风格"一样,属于个人风格问题.对于这种风格上的规范,一直都存在两种态度: 一类同学认为,这种个人风 ...
- 【python】-- 内置函数、软件目录开发规范(代码编码风格)
内置函数 一.内置函数表格 二.内置函数演示 1.abs(x) 功能:取数的绝对值 >>> abs(-1) #取-1的绝对值 1 ########################## ...
- Python学习第二阶段day1 内置函数,序列化,软件目录开发规范
内置函数 1.abs() 求绝对值 2.all() 所有元素为真才返回真 all( [1,1,2,3,-1] ) 值为True 3.any() 所有元素为假才返回假 any([0,0,0 ...
- 1.19 Python基础知识 - 软件目录开发规范及不同模块之间的调用
一个软件项目的开发,除了需要很厉害的开发能力,同时在软件开发项目时,也需要对项目结构有良好的组织能力,将功能进行拆分,不同的功能放在不同的目录或文件中,方便日后的维护,升级等操作.比如核心代码的目录, ...
- import模块/包--软件开发规范
一. 模块 模块:就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译 ...
- Day04 - Python 迭代器、装饰器、软件开发规范
1. 列表生成式 实现对列表中每个数值都加一 第一种,使用for循环,取列表中的值,值加一后,添加到一空列表中,并将新列表赋值给原列表 >>> a = [0, 1, 2, 3, 4, ...
- Day4 - Python基础4 迭代器、装饰器、软件开发规范
Python之路,Day4 - Python基础4 (new版) 本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...
随机推荐
- spring的jar包的下载、说明
spring的jar包官方下载地址:完整链接:https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release-lo ...
- 数据库系统概念:JDBC
import java.sql.*; public class DataBase { public static void main() { } } /* 5.1.1 JDBC */ class JD ...
- Zeppelin0.5.6使用spark解释器
Zeppelin为0.5.6 Zeppelin默认自带本地spark,可以不依赖任何集群,下载bin包,解压安装就可以使用. 使用其他的spark集群在yarn模式下. 配置: vi zeppelin ...
- Java中的Lambda表达式简介及应用
在接触Lambda表达式.了解其作用之前,首先来看一下,不用Lambda的时候我们是怎么来做事情的. 我们的需求是,创建一个动物(Animal)的列表,里面有动物的物种名,以及这种动物是否会跳,是否会 ...
- 【CYH-02】NOIp考砸后虐题赛:坐标:题解
代码: 这道题也并不难,用排序+简单动规即可.因为@Kevin_Wa 大佬放的是c++,所以我来一发Pascal. var min,max,i,a1,b1,c1,d1,n:longint; a,b,c ...
- [剑指offer] 10. 旋转数组的最小数字
题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 思路: 利用dp[i]保存盖2*i的矩形有多少种办法. 通过 ...
- 一个简单的JS倒计时
看到很多商城都是抢购倒计时的功能,今天闲来无事做了个倒计时.全当学习JS. 主要思路:主要用到Date对象,声明一个变量获取当前时间,在声明一个变量获取结束时间,结束时间-当前时间=剩余时间(倒计时) ...
- Openstack中用keypair生成和访问虚机的方法
Openstack中用keypair生成和访问虚机的方法 标签:task iso perm cte 生成 复制 vol rsa sla Openstack中用镜像文件生 ...
- python带有GIL解释器锁
1.GIL是什么?GIL的全称是Global Interpreter Lock(全局解释器锁),来源是python设计之初的考虑,为了数据安全所做的决定. 2.每个CPU在同一时间只能执行一个线程(在 ...
- 初探Oracle全栈虚拟机---GraalVM
官方说明: GraalVM是一个生态系统和共享运行时,不仅提供基于JVM的语言(如Java,Scala,Groovy和Kotlin)的性能优势,还提供其他编程语言(如JavaScript,Ruby,P ...