当前位置: 首页 > 编程日记 > 正文

开发代码命名规范!

今天查看以前的资料看见代码命名规范。呵呵 就拿出来给大家分享以下,还是比较老的。估计现在也是这种开发的命名规范。仅供参考!谢谢。

1.用Pascal规则来命名方法和类型。
public   class   DataGrid
{
          public   void   DataBind()
         {

          }
}

2.用Camel规则来命名局部变量和方法的参数.  
public   class   Product
{
          private   string   _productId;
          private   string   _productName;

         public   void   AddProduct(string   productId,string   productName)
         {

         }
}

3.所有的成员变量前加前缀“_”。
public   class   DataBase
{
         private   string   _connectionString;
}

4.接口的名称加前缀   “I”。
public   interface   IConvertible
{
          byte   ToByte();
}

5.自定义的属性以“Attribute”结尾。
public   class   TableAttribute:Attribute
{

}  

6.自定义的异常以Exception结尾。
public   class   NullEmptyException:Exception
{

}  

7.方法的命名。一般将其命名为动宾短语。
public   class   File
{
            public   void   CreateFile(string   filePath)
           {

             }
             public   void   GetPath(string   path)
            {

            }
}  

8.局部变量的名称要有意义。
不要用x,y,z等等,用For循环变量中可使用i,   j,   k,   l,   m,   n。
public   class   User
{
          public   void   GetUser()
         {
                   string[]   userIds={ "ziv ", "zorywa ", "zlh "};

                   for(int   i=0,k=userIds.Length;i <k;i++)
                  {

                  }
         }
}  

9.所有的成员变量声明在类的顶端,用一个换行把它和方法分开。
public   class   Product
{
           private   string   _productId;
           private   string   _productName;

           public   void   AddProduct(string   productId,string   productName)
          {

          }
}

10.用有意义的名字命名namespace,如:公司名、产品名。
namespace   Zivsoft//公司命名
{

}
namespace   ERP//产品命名
{

}

11.建议局部变量在最接近使用它时再声明。


12.使用某个控件的值时,尽量命名局部变量。
public   string   GetTitle()
{
             string   title=lbl_Title.Text;
            return   title;
}

14.把引用的系统的namespace和自定义或第三方的用一个换行把它们分开。  
using   System;
using   System.Web.UI;
using   System.Windows.Forms;

using   CSharpCode;
using   CSharpCode.Style;

15.文件名要能反应类的内容,最好是和类同名,一个文件中一个类或一组关连类。

16.目录结构中要反应出namespace的层次。

17.大括号 "{“要新起一行。
public   Sample()
{
           //
           //   TODO:   在此处添加构造函数逻辑
           //
}
18. 普通get/set属性,建议采用3.0的风格:

public string Name
{
         get;
         set;
}

19. 局部变量,看情况使用var,尽量不使用var关键字。

20. 对象初始化,能简写最好简写:

ValueText vt=new ValueText{Value=10, Text="Age"};


其实规则很重要,它是一种标准,可有可无,但有总会比无好。

把这新的C#3.0编码习惯与命名规则献上,在分享中彼此提高

转载于:https://www.cnblogs.com/wclhope/archive/2010/09/08/1821136.html

相关文章:

【linux命令】readelf工具中英文说明

简介 readelf命令用来显示一个或者多个elf格式的目标文件的信息&#xff0c;可以通过它的选项来控制显示哪些信息。 ELF文件由4部分组成&#xff0c;分别是ELF头&#xff08;ELF header&#xff09;、程序头表&#xff08;Program header table&#xff09;、节&#xff08;Se…

再见Python!Yann LeCun警告:深度学习需要新编程语言

整理 | 一一出品 | AI科技大本营尽管工程师们普遍定位 Python 是简单、优雅的编程语言&#xff0c;但它并非毫无缺点&#xff0c;比如人们一直吐槽它的执行速度不够快&#xff0c;线程不能利用多 CPU 等缺点&#xff0c;如今 AI 界泰斗也放话说要用新编程语言替代 Python。Face…

Linux系统与我之间的故事

2019独角兽企业重金招聘Python工程师标准>>> 说起Linux想必大家都不是很陌生的&#xff0c;关注这方面的不是大神就是对Linux特别热爱的人&#xff0c;那么接下来我给大家介绍下我和Linux之间的一些事&#xff0c;还有如何去快速的学习Linux。 我接触Linux大概就是大…

Google Instant 瞬时搜索上手指南

Google Instant是Google刚刚发布的一种新的搜索方式&#xff0c;随着你在搜索框里输入文字&#xff0c;Google将同时给出搜索结果&#xff0c;同时在搜索框里还会根据你输入的关键字给出搜索建议&#xff0c;通过上下键即可切换。按TAB键可自动补全第一位的搜索建议。随着你不断…

【视频】显示器固定参数struct fb_fix_screeninfo中char id[16]说明

imx6q关于fb和video的设备信息 设备节点 root@myzr:/unit_tests# ls /dev/fb* -l lrwxrwxrwx 1 root root 3 Jan 1 1970 /dev/fb -> fb0 crw-rw---- 1 root video 29, 0 Jan 1 1970 /dev/fb0 crw-rw---- 1 root video 29, 1 Jan 1 1970 /dev/fb1 crw-rw---- 1 …

“编程不规范,同事两行泪!”

【编者按】编程江湖中一直盛传着一个段子&#xff0c;那就是要问程序员最讨厌哪 4 件事&#xff1f;那必须是&#xff1a;写注释、写文档、别人不写注释、别人不写文档。更甚者&#xff0c;在《流浪地球》形成刷屏之势之后&#xff0c;仿其而出的“代码千万行&#xff0c;注释第…

记一次 调节有音量界面 上移的bug

如图所示&#xff1a;音量调节的界面直接上移了本来是以为是因为edittext 的原因使得这个界面上移了&#xff08;但其实我也不信&#xff0c;因为我应该影响不了系统的界面&#xff09; 然后最后不断调整布局 不断调整代码 通过排查 发现是因为使用了DTMF的原因&#xff08;用来…

这可能是史上最全的Python算法集!

来源 | CSDN&#xff08;ID&#xff1a;CSDNnews &#xff09;本文是一些机器人算法&#xff08;特别是自动导航算法&#xff09;的Python代码合集。其主要特点有以下三点&#xff1a;选择了在实践中广泛应用的算法&#xff1b;依赖最少&#xff1b;容易阅读&#xff0c;容易理…

Emoji表情图标在iOS与PHP之间通信及MySQL存储

在某个 iOS 项目中&#xff0c;需要一个服务器来保存一些用户数据&#xff0c;例如用户信息、评论等&#xff0c;我们的服务器端使用了 PHPMySQL 的搭配。在测试过程中我们发现&#xff0c;用户在 iOS 端里输入了 Emoji 表情提交到服务器以后&#xff0c;PHP 无法在 MySQL 数据…

【linux】图形界面基础知识(X、X11、GNOME、Xorg、KDE的概念和它们之间的关系)

转载自&#xff1a;https://blog.csdn.net/zhangxinrun/article/details/7332049 简介 LINUX初学者经常分不清楚linux和X之间&#xff0c;X和Xfree86之间&#xff0c;X和KDE&#xff0c;GNOME等之间是什么关系。常常混淆概念&#xff0c;本文以比较易于理解的方式来解释X&…

DreamWeaver做ASP 第13页

第七步&#xff1a;修改资料篇 修改资料&#xff01;首先要清醒一点&#xff0c;什么人才可以修改。 一&#xff0c;本人只能修改自己的&#xff1b;二&#xff0c;管理员可以修改所有人的。 那今天先来搞个可以修改自己资料的页面。 顺序是&#xff1a;先确认是正确登录&#…

【linux命令】setterm控制终端属性命令(中英文)

###setterm中文 SETTERM(1) 用户命令 SETTERM(1) 名字 setterm - 设置终端属性 概要 setterm [选项] 描述 setterm向终端写一个字符串到标准输出&#xff0c;调用终端的特定功能。在虚拟终端上使用&#xff0c;将会改变虚拟终端的输出特性。不支持的选项将被忽略。 选项 对…

搜狗分身技术再进化,让AI合成主播“动”起来

整理 | 一一出品 | AI科技大本营去年 11 月的互联网大会期间&#xff0c;搜狗与新华社联合发布全球首个AI合成主播一经亮相&#xff0c;引起了人们对“AI媒体”的广泛讨论。如今&#xff0c;搜狗 AI 合成主播不断更新迭代。2 月 19 日&#xff0c;在新华社新媒体中心与搜狗公司…

Angular http跨域

var app angular.module(Mywind,[ui.router]); app.controller(Myautumn,function($scope,$http,$filter){ //$http跨域 //服务端设置 // 访问权限 response.setHeader("Access-Control-Allow-Origin", "*"); // 访问类型 response.setHeader(&q…

文本分类step by step(二)

&#xff08;注&#xff1a;如有转载请标明作者&#xff1a;finallyliuyu, 和出处&#xff1a;博客园&#xff09; 《文本分类 step by step(一)》 在《文本分类step by step&#xff08;一&#xff09;》中&#xff0c;我们从处理语料库开始讲起&#xff0c;一直讲到利用分类器…

Centos7.4 版本环境下安装Mysql5.7操作记录

Centos7.x版本下针对Mysql的安装和使用多少跟之前的Centos6之前版本有所不同的&#xff0c;废话就不多赘述了&#xff0c;下面介绍下在centos7.x环境里安装mysql5.7的几种方法&#xff1a;一、yum方式安装 Centos7.x版本下针对Mysql的安装和使用多少跟之前的Centos6之前版本有所…

叫你一声“孙悟空”,敢答应么?

整理 | 一一出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;随着自然语言理解等技术的发展&#xff0c;对话机器人如今盛行&#xff0c;而基于此的智能音箱产品的发展也异常火热。很多开发者一般热衷于在一些对话机器人平台上开发相应的语音技能&#xff0c;但也有不…

【linux】Matchbox(一):启动脚本

脚本执行顺序 启动X服务器 /etc/rc5.d/S01xserver-nodm --> …/init.d/xserver-nodm–> 对应进程&#xff1a; /bin/sh /etc/rc5.d/S01xserver-nodm start background xinit /etc/X11/Xsession–> 对应进程&#xff1a; xinit /etc/X11/Xsession – /usr/bin/Xorg …

java试用(1)hello world

设置环境变量path H:\soft\j2sdk1.4.2_17\bin;H:\soft\eclipse;%path%set CLASSPATH.;H:\soft\j2sdk1.4.2_17\jre\lib;JAVA_HOME: D:\jdk1.5.0PATH: D:\jdk1.5.0\bin;编写程序 Noname1.java (注意&#xff1a;文件名要和class名一样)class Noname1 { public static void…

GAN性能不稳?这九大技术可“镇住”四类缺陷

作者 | Bharath Raj译者 | ang010ela编辑 | 一一出品 | AI科技大本营尽管 GAN 领域的进步令人印象深刻&#xff0c;但其在应用过程中仍然存在一些困难。本文梳理了 GAN 在应用过程中存在的一些难题&#xff0c;并提出了最新的解决方法。使用 GAN 的缺陷众所周知&#xff0c;GAN…

java正则表达式获取指定两个字符串之间内容

xml解析利用正则表达式获取指定两个字符串之间内容 在遇到解析复杂xml的时候&#xff0c;想到大家所想到的都是利用dom4j作为首发工具&#xff0c;但是当遇到层次很多&#xff0c;较为复杂&#xff0c;我们难道还需要从根节点一层一层的解析下去吗&#xff1f;此时不仅代码繁琐…

【linux】Matchbox(二):基本概念

X server X server是Linux系统里面图形接口服务器的简称。Windows系统的界面是这个系统不可分割的一部分&#xff0c;各种窗口操作界面显示都是由系统核心直接管理的&#xff0c;而Linux的图形界面并不是系统的必要组成部分&#xff0c;它可以在无界面的条件下运行。当需要Lin…

Android 控件之ImageSwitcher图片切换器

ImageSwitcher是Android中控制图片展示效果的一个控件&#xff0c;如&#xff1a;幻灯片效果...&#xff0c;颇有感觉啊。做相册一绝 源码下载 一、重要方法 setImageURI(Uri uri)&#xff1a;设置图片地址 setImageResource(int resid)&#xff1a;设置图片资源库 setImageDra…

【Qt】Qt5.x移植后的环境配置(imx6)

1、环境配置脚本如下 #!/bin/shexport QTDIR=/usr/lib/qt5 export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins export QT_QPA_PLATFORM=eglfs:fb=/dev/fb0 export QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/event1 export QT_QPAFONTDIR=/usr/lib/fonts export QML2_IM…

程序员如何避免“滴滴式裁员”悲剧?

作者 | 徐麟转载自数据森麟&#xff08;ID:shujusenlin&#xff09;滴滴于2月15日正式发表裁员公告&#xff0c;想必很多互联网人的朋友圈都已经被这条消息刷屏了&#xff0c;其中最常见的莫过于下面这张图了&#xff1a;此图一出&#xff0c;广大互联网吃瓜群众不禁后背发凉&a…

windows服务搭建及命令总结

1、图解FTP服务器搭建(Windows Server 2008) https://wenku.baidu.com/view/803bdc1759eef8c75fbfb361.html?fromsearch https://www.cnblogs.com/john2017/p/6269671.html 2、WindowsServer2008下搭建ApachePHPMySQL https://wenku.baidu.com/view/2e82b99ea1116c175f0e7cd18…

Linux下的CST和UTC时间的区别

在linux中&#xff0c;用date查看时间的时候显示&#xff1a;2008年 12月 17日 星期三 09:04:14 CSTCST China Standard Time UTC8:00 中国沿海时间(北京时间)世界协调时间(Universal Time Coordinated,UTC)GPS 系统中有两种时间区分&#xff0c;一为UTC&#xff0c;另一为LT&a…

Python之父重回决策层,未来如何发展?

作者 | 豌豆花下猫来源 | Python猫&#xff08;ID&#xff1a;python_cat&#xff09;春节假期结束了&#xff0c;大家陆续地重回到原来的生活轨道上。假期是一个很好的休息与调节的机会&#xff0c;同时&#xff0c;春节还有辞旧迎新的本意&#xff0c;它是新的轮回的开端。在…

【Android】adb命令总结

1、adb version 显示ADB工具版本 2、adb devices 查询设备&#xff0c;显示设备序列号 3、adb sideload < file_location> 通过USB进行ROM刷机 4、adb install < apk文件路径> 安装APK 5、adb uninstall <软件名> 卸载软件 6、adb push <本地路径>…

MySQL中char与varchar的区别

字符与字节的区别 一个字符由于所使用的字符集的不同&#xff0c;会并存储在一个或多个字节中&#xff0c;所以一个字符占用多少个字节取决于所使用的字符集注意&#xff1a;char与varchar后面接的数据大小为存储的字符数&#xff0c;而不是字节数&#xff08;其实是5.0版本以上…