• 初学程序一定要养成良好的习惯


    初学程序一定要养成良好的习惯//

    控件命名规则一般为前缀+字段名
    例如  字段Title,在界面中的控件为textbox 命名为txtTitle
    下列为各种控件所统一的前缀

    textbox   txt
    DropDownList1  drp
    ListBox   lst
    DataGrid  dag
    DataList  Dal
    CheckBox  ckb
    RadioButtonList  rad
    Repeater  rep
    Image   img
    Button   btn


    按钮命名规则
    按钮命名一般为前缀btn+动作名称
    几种常用按钮命名
    保存  btnSave
    重置  btnReset
    查询   btnSearch
    修改  btnEdit
    添加  btnAdd
    删除  btnDelete

    3、编码约定
    目前,中勤在线已正常运作三年有余,程序员由九七级本科生延续至现在的零二级,各个年级的程序员编码的熟悉程度和编码的方式各不一致,以至于程序编码五花八门,严格的说,从目前中勤在线的网站后台程序编码总体来看,中勤在线还停留在个人网站的水准上,看不出一个教育类大型网站的应有的水准,因此,我们的程序员必须统一编码方式,原因其一,可以体现出整个网站的整体性;其二,可以提高程序的可阅读性,方便下一阶段的程序员修改更新程序。以下为具体内容:
    1、    变量先定义后使用;
    2、    首字大写,尽量采用英语描述,不宜采用拼音描述;
    3、变量命名基本采用匈牙利命名法则;
    匈牙利命名法则基本原则是:
    变量名=属性 + 类型 + 对象描述
    即一个变量名由三部分信息组成,这样,程序员很容易理解变量的类型、用途,而且便于记忆。
    下边是根据我站一些推荐使用的规则例子(详细命名规则请参看匈牙利命名规则):
    ·属性部分
    全局变量:         g_
    常  量:         c_
    ·类型部分
     指  针:         p_
     句  柄:         h_
     整  型:         i_
     浮 点 型:         f_
     日 期 型:         d_
     布 尔 型:         b_
     字 符 型:         s_
    数 组 型:         ary_
    ·描述部分
     初 始 化:         Init
     临时变量:         Tmp
    其中部分规则考虑到将来.net发展的c# 变量命名规则,在Asp中可不考虑。
    参考实例:c_i_InitBorderColor、g_s_TmpNewsTitle、g_i_ary_VoteNum,程序员可根据实际情况梢做改动,但必须遵循匈牙利命名法则,能够使其他程序员看变量名便知其类型和属性等关键标识符意义;
    4、所有控件的属性值都要使用双引号或者单引号包括起来;
    5、控件的命名规则:
      Button:          btn
    Form:          frm
    Select:          sel
    Textarea:         txt
    Input:           ipt
      Hidden:          hid
    6、各控件主要使用规则:
      ·img控件
    alt:所有展示类图片都要具有能简要描述图片内容的文字说明。
    ·Input控件
    maxlength:所有Input控件都需要制定maxlength属性,默认值为数据库中对应的字段的长度。
    readonly:所有不可更改的信息都要使用readonly属性。
    ·Form控件
    action:所有Form都要指定action,如果提交给本身就指定action=""
    method:尽量使用post方式
    onsubmit:所有form都要指定提交前需要的检查程序。
    所有form都要有对应的reset button。
    ·Button控件
    Onclick:form中用于提交的button不容许使用此方法,所有数据检查通过form的onsubmit激活。
    ·head属性
    所有页面都要具有不为空的head属性。
    ·所有中文页面都要加上如下语句:

    4、数据库设计
    程序员在进行数据库设计前应先仔细阅读由市场部做的各项分析文档(包括可行性分析,需求分析等),查看由信息部拟订的项目所需功能列表后,仔细斟酌后进行数据库初步设计,设计完后提交数据库设计报表。详细规范如下:
    ·所有表必须以字符“t”(table)开头,如表tUsers,tAffriches,tMessages等等;
    ·所以字段必须以字符“f”(field)开头,如字段fID,fName,fTitle等等;
    ·较重要表中,最少创建2个预留字段,命名为fPre_Int (数字型),fPre_Str (字符型);
    ·设计Access数据库应有较长数据库文件名,或者与网络部协商,做成ODBC连接,防止数据库被非法下载。
    ·设计SQL Server数据库还应备份数据库创建SQL脚本,即备份数据库结构。
    数据库设计基本

    5、文件夹设置
    随着中勤在线的发展,其栏目设置越来越多,经过三年的开发,现已有十多个栏目,各个栏目均由不同人员开发,各栏目文件夹的设置也是七临八乱,不成规矩,很难让别的开发人员一目了然其栏目结构。因此为了更加规范程序和页面文件夹的设置,现规定如下:
    ·必须设有Connections文件夹,存放数据库连接文件;
    ·必须设有Inc文件夹,存放包含文件和其他页面调用程序;
    ·必须设有Images文件夹,存放图片文件;
    ·必须设有Css文件夹,存放样式表文件;
    ·必须设有Doc文件夹,存放开发文档;
    ·必须设有Original Files文件夹,存放图片源文件;
    ·必须设有Js文件夹,存放脚本文件;
    ·在有上传功能的栏目中,必须设有Upload文件夹,存放上传的图片及文件;
    ·Asp.net栏目中,必须设置Source文件夹,存放程序C#或者Vb.net源文件;
    ·Asp.net栏目中,必须设置Bin文件夹,存放动态连接库文件;
    ·使用SQL Server库栏目中,必须设置Sql文件夹,存放数据库结构SQL脚本文件;
    ·必须设置Backup文件夹,存放更新前的备份文件。

    6、注释与缩进
    在过去的开发中,中勤在线使用的大部分为Asp脚本语言,此语言程序与页面嵌套在一起,通常被称为“意大利面条”式代码,所以阅读程序往往很费时间,在.net开发中,出现了CodeBehind技术可将代码和页面分开,在一定程度上可以减轻程序员的负担,但是要让程序更快的阅读代码,还必须在适当的部分添加注释,并且请合理采用代码缩进,在模块与模块之间,循环区块,条件区块等等都应该使用代码缩进,缩进一级为两个半角空格。

    7、安全与调试
    开发后期,程序员还担负着代码的调试和漏斗检测任务,其中就包括如下内容
    ·所有页面要在800*600,1024*768两种分辨率下运行通过;
    ·所有页面要在IE5.0,5.5以及6.0下运行通过没有JavaScript错误;
    ·所有涉及删除的操作,在用户选定以后都要再进行一次确认操作;
    ·检查Sql漏洞,以及每个传递参数,排除入侵可能性;
    ·开发完毕后必须挂在工作机房调试经内部调试一周方可正式发布;
     
    ==============================================================================

    C#程序编码规范
    发表:2004-6-17 15:19:26  出处:博客网(yourblog.org)
    --------------------------------------------------------------------------------

    1.       目的

    为了保证企业编写出的程序都符合相同的规范,保证一致性、统一性而建立的程序编码规范。

    2.       范围

    适用于企业所有基于.NET平台的软件开发工作。

    3.       规范内容

    3.1.    代码格式

    u       所有的缩进为4个空格,使用VS.NET的默认设置。
    u       在代码中垂直对齐左括号和右括号。

    if(x==0)

                  {

                       Response.Write("用户编号必须输入!");

                  }

               不允许以下情况:

    if(x==0) {

                  

                       Response.Write("用户编号必须输入!");

                  }

    或者:

    if(x==0){ Response.Write("用户编号必须输入!");}

    u       为了防止在阅读代码时不得不滚动源代码编辑器,每行代码或注释在1024*800的显示频率下不得超过一显示屏

    u       当一行被分为几行时,通过将串联运算符放在每一行的末尾而不是开头,清楚地表示没有后面的行是不完整的。

    u       每一行上放置的语句避免超过一条。

    u       在大多数运算符之前和之后使用空格,这样做时不会改变代码的意图却可以使代码容易阅读。

    例:

            int j = i + k;

    而不应写为

        int j=i+k;

    u       将大的复杂代码节分为较小的、易于理解的模块。

    u       编写 SQL 语句时,对于关键字使用全部大写,对于数据库元素(如表、列和视图)使用大小写混合。

    u       将每个主要的 SQL 子句放在不同的行上,这样更容易阅读和编辑语句,例如: SELECT FirstName, LastName

                                 FROM Customers

                      WHERE State = ’WA’

    3.2.    注释(Comment)规范

    注释规范包括:模块(类)注释规范、类的属性、方法注释规范、代码间注释

    3.2.1. 模块(类)注释规范

    模块开始必须以以下形式书写模块注释:

    ///

             ///模块编号:<模块编号,可以引用系统设计中的模块编号>

             ///作用:<对此类的描述,可以引用系统设计中的描述>

             ///作者:作者中文名

             ///编写日期:<模块创建日期,格式:YYYY-MM-DD>

             ///

    如果模块有修改,则每次修改必须添加以下注释:

             ///

             ///Log编号:

             ///修改描述:<对此修改的描述>

             ///作者:修改者中文名

             ///修改日期:<模块修改日期,格式:YYYY-MM-DD>

             ///

    3.2.2. 类属性注释规范

    在类的属性必须以以下格式编写属性注释:

             ///

             ///属性说明

    ///

    3.2.3. 方法注释规范

    在类的方法声明前必须以以下格式编写注释

             ///

             /// 说明:<对该方法的说明>

             ///

              /// <参数说明>

             ///

             ///<对方法返回值的说明,该说明必须明确说明返回的值代表什么含义>

             ///

    3.2.4. 代码间注释规范

    代码间注释分为单行注释和多行注释:

             单行注释:

    //<单行注释>

             多行注释:

             /*多行注释1

              多行注释2

              多行注释3*/

    代码中遇到语句块时必须添加注释(if,for,foreach,……),添加的注释必须能够说明此语句块的作用和实现手段(所用算法等等)。

    3.3.    变量(Variable)命名规范

    3.3.1. 程序文件(*.cs)中的变量命名规则

          

           程序中变量名称 = 变量的前缀 +代表变量含意的英文单词或单词缩写。

    1.  类模块级的变量请用“m_”作前缀

    public class hello

    {

             private string m_Name;

             private DateTime m_Date;

    }

    2.  类的属性所对应的变量,采用属性名前加“m_”前缀的形式

    public class hello

    {

         private string m_Name;

         public string Name

         {

             get

    {

          return m_Name;

    }

    }

    }

    3.  过程级的变量不使用前缀

    public class hello

    {

             void say()

             {

                    string SayWord;

    }

    }

    4.  过程的参数使用“p_”作为参数

            public class hello

            {

                   void say(string p_SayWord)

                   {

                   }

            }

    补充说明:

            针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为e;

    如果有冲突的情况下,可以重复e,比如:ee。

    Try

    {

             //your code

             try

    {

    //code

    }

    catch(Exception ee)

    {

    //your code

    }

    }

    catch(Exception e)

    {

             //your code

    }

    补充:如果捕获异常不需要作任何处理,则不需要定义Exception实例

    例:

    try

    {

             //your code

    }

    catch( Exception )

    {

    }

    5.  鉴于大多数名称都是通过连接若干单词构造的,请使用大小写混合的格式以简化它们的阅读。每个单词的第一个字母都是大写.

    6.  即使对于可能仅出现在几个代码行中的生存期很短的变量,仍然使用有意义的名称。仅对于短循环索引使用单字母变量名,如 i 或 j。

    7.  在变量名中使用互补对,如 min/max、begin/end 和 open/close。

    8.  不要使用原义数字或原义字符串,如 For i = 1 To 7。而是使用命名常数,如 For i = 1 To NUM_DAYS_IN_WEEK 以便于维护和理解。

    3.3.2. 控件命名规则

    控件命名=Web控件缩写前缀  + “_” +变量名

    控件
    缩写

    Label
    lbl

    TextBox
    txt

    CheckBox
    chk

    Button
    cmd

    ListBox
    lst

    DropDownList
    drp

    等等
      


    3.4.    常量命名规范

    常量名也应当有一定的意义,格式为 NOUN 或 NOUN_VERB。常量名均为大写,字之间用下划线分隔。

    例:

            private const bool   WEB_ENABLEPAGECACHE_DEFAULT           = true;

            private const int    WEB_PAGECACHEEXPIRESINSECONDS_DEFAULT = 3600;

            private const bool   WEB_ENABLESSL_DEFAULT                 = false;

    注:

    变量名和常量名最多可以包含 255 个字符,但是,超过 25 到 30 个字符的名称比较笨拙。此外,要想取一个有实际意义的名称,清楚地表达变量或常量的用途,25 或 30 个字符应当足够了。

    3.5.    类(Class)命名规范

    1.    名字应该能够标识事物的特性。

    2.    名字尽量不使用缩写,除非它是众所周知的。

    3.    名字可以有两个或三个单词组成,但通常不应多于三个。

    4.    在名字中,所有单词第一个字母大写。

             例如    IsSuperUser,包含ID的,ID全部大写,如CustomerID。

    5.    使用名词或名词短语命名类。

    6.    少用缩写。

    7.    不要使用下划线字符 (_)。

    例:

    public class FileStream
    public class Button
    public class String


    3.6.    接口(Interface)命名规范

          和类命名规范相同,唯一区别是  接口在名字前加上“I”前缀

        例:

        interface IDBCommand;

        interface IButton;

    3.7.    方法(Method)命名规范

          和类命名规范相同。

    3.8.    命名空间(NameSpace)命名规范

          和类命名规范相同。

  • 相关阅读:
    MySQL 锁的监控及处理
    mssql sqlserver 不固定行转列数据(动态列)
    SQL常用增删改查语句--来源于网络
    mssql sqlserver 对不同群组对象进行聚合计算的方法分享
    mssql sqlserver 自动备份存储过程的方法分享
    mssql sqlserver updatetext关键字应用简介说明
    mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享
    mssql sqlserver with cte表达式(递归)找出最顶值的方法分享
    mssql sqlserver text数据类型专题说明
    mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
  • 原文地址:https://www.cnblogs.com/oop/p/245331.html
Copyright © 2020-2023  润新知