【浙大网新图灵通讯】无废话简单高效C#编码规范20100611

无废话简单高效C#编码规范20100611
 
自己看自己的代码啥问题也没有,但是一个团队、N多个人、N多年的代码,就比较难维护、难阅读了,什么样的不好的习惯、错误漏洞能出来的就全出来了。

第1章     头部文件源码参考

错误参考
 
using System;
using System.Collections.Generic;
 
using System.Text;
using System.Data;
using FDA.Model;
using FDA.IDAL;
namespace FDA.BLL
{
 

1.1   规范定义

缺少公司的版权信息定义。

1.2规范定义

using 没有用开发环境里中提供的工具进行整理、排序,引用了多余的 System.Text命名空间。

1.3规范定义

该有的空行没空起来,using 与 namespace 之间需要有空行。
 
 
正确代码参考
 
/**************************************************************
* Copyright (C) 2010 iTouch, Inc (http://www.itouch.com.cn)
* All Rights Reserved
* Created by JiRiGaLa <QQ:252056973>
 
* 版权所有:浙大网新易盛网络通讯有限公司
*     者:吉日嘎拉([email protected])
* 创建时间:2010-06-11
 
* 修 改 人:
* 修改内容:
* 修改时间:
**************************************************************/
 
using System.Collections.Generic;
using System.Data;
using FDA.IDAL;
using FDA.Model;
 
namespace FDA.BLL
{
     
 

第2章     函数参数定义部分

错误参考
 
        private static readonly IAlarmQuery dal = FDA.DALFactory.DataAccess.CreateAlarmQuery ();
        public DataTable GetAlarmHandtailorList(ref AlarmInfo info)
        {
            return dal.GetAlarmHandtailorList(ref info);
        }
        public DataTable GetAlarmHndtailorListNames(string creater)
        {
            return dal.GetAlarmHndtailorListNames(creater);
        }

2.1规范定义

变量与函数之间需要有空行,该有的空行需要有。

2.2规范定义

函数中的参数名不规范,建议 ref AlarmInfo info 修改为 ref AlarmInfo alarmInfo,首字母小写。

2.3规范定义

函数与函数之间,应该有空格隔开,不要都拥挤在一起。

2.4规范定义

由于此函数部分都是为了实现接口写的,函数的具体功能、参数说明等应该在接口里写就可以了,此处可以不写函数说明、参数说明。
 
 
正确代码参考
 
 
        private static readonly IAlarmQuery  dal = FDA.DALFactory.DataAccess.CreateAlarmQuery ();
 
        public DataTable GetAlarmHandtailorList(ref AlarmInfo alarmInfo)
        {
            return dal.GetAlarmHandtailorList(ref alarmInfo);
        }
 
        public DataTable GetAlarmHndtailorListNames(string creater)
        {
            return dal.GetAlarmHndtailorListNames(creater);
        }
 
错误参考
 
       protected static readonly IApplianceQuery aq = DALFactory.DataAccess.CreateApplianceQuery();       
       
/// <summary>
        /// 获取器械实时库存信息(Search),按器械信息分类。
        /// </summary>
        /// <param name="asp"> 分页实体 </param>
        /// <param name="RecordCount"> 总记录数 </param>
        /// <returns></returns>
        public DataSet GetAppPeriodStockSearch(ApplianceStockPager asp, ref int RecordCount)
        {
            return aq.GetAppPeriodStockSearch(asp, ref RecordCount);
        }
 
        /// <summary>
        /// 获取器械实时库存明细信息的SQL语句
        /// </summary>
        /// <param name="Qx_id"> 数据编号 </param>
        /// <returns></returns>
        public ApplianceStockInfo GetAppPeriodStockDetail(string Qx_id)
        {
            return aq.GetAppPeriodStockDetail(Qx_id);
        }

2.5规范定义

代码中的 aq ,与上面代码中的 dal 习惯冲突,建议统一用 dal或者小写字母原则 aq 写为 ApplianceQuery。

2.6规范定义

RecordCount 局部变量不能大写开头,建议用 recordCount。

2.7规范定义

Qx_id 不建议这么写,局部变量不能大写开头,建议写为qxId,也不建议用_ , ID建议写为Id。

2.8规范定义

由于此函数部分都是为了实现接口写的,函数的具体功能、参数说明等应该在接口里写就可以了,此处可以不写函数说明、参数说明。
 
 
正确代码参考
 
 
        protected static readonly IApplianceQuery dal = DALFactory.DataAccess.CreateApplianceQuery();
 
        /// <summary>
        /// 获取器械历史库存信息(Search),按器械信息分类。
        /// </summary>
        /// <param name="applianceStockPager"> 分页实体 </param>
        /// <param name="recordCount"> 总记录数 </param>
        /// <returns> 数据集 </returns>
        public DataSet GetApplianceStockSearch(ApplianceStockPager applianceStockPager, ref int recordCount)
        {
            return dal.GetApplianceStockSearch(applianceStockPager, ref recordCount);
        }
 
        /// <summary>
        /// 获取器械历史库存明细信息的SQL语句
        /// </summary>
        /// <param name="qxId"> 数据编号 </param>
        /// <returns> 分页实体 </returns>
        public ApplianceStockInfo GetApplianceStockDetail(string qxId)
        {
            return dal.GetApplianceStockDetail(qxId);
        }
错误参考
 
        /// <summary>
        /// 获得数据列表,如根据仓库获取探头列表
        /// </summary>
        public DataSet GetDllList(string strColum, string strWhere)
        {
            return dal.GetDllList(strColum, strWhere);
        }

2.9规范定义

在函数参数中变量中不要加str等前缀 strColum 、strWhere应该写为colum、sqlWhere
 
 
 
正确代码参考
 
 
        public DataSet GetDllList(string colum, string where)
        {
            return dal.GetDllList(colum, where);
        }
 
错误参考
 
        SystemManage.cs 文件,代码 1206 行
 

2.10规范定义

光功能定义就这么多,那实现部分更不是海一样的代码了?需要分割、职责分明、把一个大的功能模块划分为多个功能部分。
 
 
错误参考
 
namespace FDA.BLL
{
    public class Remoting
    {

2.11规范定义

Remoting 是关键字,不建议用关键字做类名、函数名、参数名等。
 

你可能感兴趣的:(编码,通讯,图灵,浙大网新,废话)