QQ:1187362408 欢迎技术交流和学习
.NET开发养成一种良好的注释代码习惯篇(BASE64):
TODO:
1,CS代码注释:
<span style="color:#000000;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BF.IBLL.Two_wayReferral.PatientReferral;
using BF.IBLL.HealthResources;
using Base.Core.UnityFactory;
using BF.Infrastructure;
using System.Web.UI.HtmlControls;
using BF.Model;
using System.Data.SqlClient;
using System.Data;
using BF.Common;
namespace BF.Web.pages.Two_wayReferral.PatientReferral.Outside
{
public partial class Referral : BasePage
{
private string _izzztname;//声明全局私有变量:_izzztname 【转诊状态】
private string _szzdh;//声明全局私有变量:_szzdh 【转诊单号]
private readonly ITwoWayReferralBLL iBLL = IOCFactory.GetIOCResolve<ITwoWayReferralBLL>();//声明并初始化接口:iBLL【双向转诊】
private readonly Ires_HumanResourcesBLL ires_HumanResourcesBLL = IOCFactory.GetIOCResolve<Ires_HumanResourcesBLL>();//声明并初始化接口:ires_HumanResourcesBLL【人力资源】
//主键只读属性[转诊单号] 标识【sZZDH】
protected string SZZDH
{
get
{
if (!string.IsNullOrEmpty(Request.QueryString["sZZDH"]))
{
_szzdh = HttpUtility.UrlDecode(Request.QueryString["sZZDH"].ToString());
}
else
{
_szzdh = "";
}
return _szzdh;
}
}
//主键只读属性[页面类型]标识【iType】【request:县外转诊院内审核】 【examination:县外转诊审核】
private string _itype;
protected string IType
{
get
{
if (!string.IsNullOrEmpty(Request.QueryString["iType"]))
{
_itype = Request.QueryString["iType"].ToString();
}
else
{
_itype = "";
}
return _itype;
}
}
#region 索引器--依据转诊状态编码【int】获取转诊状态名称【string】
/// <summary>
/// 索引器--依据转诊状态编码【int】获取转诊状态名称【string】
/// </summary>
/// <param name="index">转诊状态编码【int】</param>
/// <returns>转诊状态名称【string】</returns>
public string this[int index]
{
get
{
//转诊状态(10:已起草;20:已申请;30:院内审核通过 40:院内审核不通过 50:已接诊;60:终审通过;70:终审不通过;90:已作废【只能作废20/30/40】)
switch (index)
{
case 10:
_izzztname = "已起草";
break;
case 20:
_izzztname = "已申请";
break;
case 30:
_izzztname = "申请单位审核通过";
break;
case 40:
_izzztname = "申请单位审核不通过";
break;
case 50:
_izzztname = "已接诊";
break;
case 60:
_izzztname = "终审通过";
break;
case 70:
_izzztname = "终审不通过";
break;
case 90:
_izzztname = "已作废";
break;
default:
break;
}
return _izzztname;//转诊状态名称
}
}
#endregion
/// <summary>
/// 获取转诊状态名称
/// </summary>
/// <param name="sCode">转诊状态编码</param>
/// <returns>转诊状态名称</returns>
protected string GetiZZZTName(string sCode)
{
/*通过索引器获得转诊状态名称*/
if (!string.IsNullOrEmpty(sCode))
{
Referral rfIndexer = new Referral();
_izzztname = rfIndexer[Convert.ToInt32(sCode)];//索引器this:通过类的实例调用【参数:转诊状态编码】
}
return _izzztname;//转诊状态名称
}
/// <summary>
/// 获取性别名称
/// </summary>
/// <param name="sCode">性别编码</param>
/// <returns>性别名称</returns>
protected string GetsXBTName(string sCode)
{
//取得人力资源数据,找到性别信息
string _sxbname = "";
if (!string.IsNullOrEmpty(sCode))
{
_sxbname = GetDictStandardizedName("CVA02.01.103", sCode);//性别信息:【参数】:1,通过人力资源对应分类编码code 2,性别编码
}
return _sxbname;//性别名称
}
/// <summary>
/// 获取删除信息
/// </summary>
/// <param name="model">双向转诊</param>
protected Model.PatientReferral GetDeleteModel(Model.PatientReferral model)
{
model.isDel = 1;//标识【iZZZT】【1:已删除】
model.sOperator = GetSessionCurrentUserInfo.sLoginName;//最后操作人编号:当前登录【用户编号】:sLoginName
model.dOperator = DateTime.Now;//最后操作时间
return model;
}
/// <summary>
/// 获取接诊信息
/// </summary>
/// <param name="model">双向转诊</param>
protected Model.PatientReferral GetAdmissionsModel(Model.PatientReferral model)
{
model.iZZZT = 50;//标识【iZZZT】【50:已转诊】
//取得人力资源数据,找到科室信息
res_HumanResources tmp = ires_HumanResourcesBLL.GetModelByCondition(p => p.gUserID == GetSessionCurrentUserInfo.gUserID);
if (tmp != null)
{
model.sJZKSBM = tmp.sDepartment;//接诊科室编码
model.sJZKS = GetDictStandardizedName("CVA09.00.001", tmp.sDepartment);//接诊科室:【参数】:1,通过人力资源对应分类编码code 2,部门编码
}
model.sJZYSBM = GetSessionCurrentUserInfo.sLoginName;//接诊医师:当前登录【用户编号】
model.sJZYS = GetSessionCurrentUserInfo.sUserName;//接诊医师:当前登录【用户姓名】
model.dJZSJ = DateTime.Now;//接诊日期:当前时间
model.sOperator = GetSessionCurrentUserInfo.sLoginName;//最后操作人编号:当前登录【用户编号】:sLoginName
model.dOperator = DateTime.Now;//最后操作时间
return model;
}
/// <summary>
/// 获取申请信息
/// </summary>
/// <param name="model">双向转诊</param>
protected Model.PatientReferral GetApplyModel(Model.PatientReferral model)
{
model.iZZZT = 20;//标识【iZZZT】【20:已申请】
model.gSQDWKey = GetSessionCurrentUserInfo.dic_Hospital.gKey;//申请单位Key
model.sSQDWZZJGDM = GetSessionCurrentUserInfo.dic_Hospital.sOrganizationCode;//申请单位组织机构代码
model.sSQDW = GetSessionCurrentUserInfo.dic_Hospital.sOrganizationName;//申请单位
//取得人力资源数据,找到科室信息
res_HumanResources tmp = ires_HumanResourcesBLL.GetModelByCondition(p => p.gUserID == GetSessionCurrentUserInfo.gUserID);
if (tmp != null)
{
model.sSQKSBM = tmp.sDepartment;//申请科室编码
model.sSQKS = GetDictStandardizedName("CVA09.00.001", tmp.sDepartment);//申请科室:【参数】:1,通过人力资源对应分类编码code 2,部门编码
}
model.sSQRBM = GetSessionCurrentUserInfo.sLoginName;//申请人编码:当前登录【用户编号】
model.sSQR = GetSessionCurrentUserInfo.sUserName;//申请人:当前登录【用户姓名】
model.dSQSJ = DateTime.Now;//申请日期:当前时间
model.sOperator = GetSessionCurrentUserInfo.sLoginName;//最后操作人编号:当前登录【用户编号】:sLoginName
model.dOperator = DateTime.Now;//最后操作时间
return model;
}
/// <summary>
/// 获取院内审核信息【其中包含院内审核通过 院内审核不通过 具体页面中处理】
/// </summary>
/// <param name="model">双向转诊</param>
protected Model.PatientReferral GetAuditModel(Model.PatientReferral model)
{
model.sSHRBM = GetSessionCurrentUserInfo.sLoginName;//审核人编码:当前登录【用户编号】
model.sSHR = GetSessionCurrentUserInfo.sUserName;//审核人:当前登录【用户姓名】
model.dSHSJ = DateTime.Now;//审核日期:当前时间
model.sOperator = GetSessionCurrentUserInfo.sLoginName;//最后操作人编号:当前登录【用户编号】:sLoginName
model.dOperator = DateTime.Now;//最后操作时间
return model;
}
/// <summary>
/// 获取作废信息
/// </summary>
/// <param name="model">双向转诊</param>
protected Model.PatientReferral GetInvalidModel(Model.PatientReferral model)
{
model.iZZZT = 90;//标识【iZZZT】【90:已作废】
model.sZFCZRBM = GetSessionCurrentUserInfo.sLoginName;//作废人编码:当前登录【用户编号】
model.sZFCZR = GetSessionCurrentUserInfo.sUserName;//作废人:当前登录【用户姓名】
model.dZFCZSJ = DateTime.Now;//作废日期:当前时间
model.sOperator = GetSessionCurrentUserInfo.sLoginName;//最后操作人编号:当前登录【用户编号】:sLoginName
model.dOperator = DateTime.Now;//最后操作时间
return model;
}
/// <summary>
/// 获取终审信息
/// </summary>
/// <param name="model">双向转诊</param>
protected Model.PatientReferral GetExaminationModel(Model.PatientReferral model)
{
model.gZSDWKey = GetSessionCurrentUserInfo.dic_Hospital.gKey;//终审单位Key
model.sZSDWZZJGDM = GetSessionCurrentUserInfo.dic_Hospital.sOrganizationCode;//终审单位组织机构代码
model.sZSDW = GetSessionCurrentUserInfo.dic_Hospital.sOrganizationName;//终审单位
//取得人力资源数据,找到科室信息
res_HumanResources tmp = ires_HumanResourcesBLL.GetModelByCondition(p => p.gUserID == GetSessionCurrentUserInfo.gUserID);
if (tmp != null)
{
model.sZSKSBM = tmp.sDepartment;//终审科室编码
model.sZSKS = GetDictStandardizedName("CVA09.00.001", tmp.sDepartment);//终审科室:【参数】:1,通过人力资源对应分类编码code 2,部门编码
}
model.sZSRBM = GetSessionCurrentUserInfo.sLoginName;//终审人编码:当前登录【用户编号】
model.sZSR = GetSessionCurrentUserInfo.sUserName;//终审人:当前登录【用户姓名】
model.dZSSJ = DateTime.Now;//终审日期:当前时间
model.sOperator = GetSessionCurrentUserInfo.sLoginName;//最后操作人编号:当前登录【用户编号】:sLoginName
model.dOperator = DateTime.Now;//最后操作时间
return model;
}
}
}</span>
2,JS注释代码如下:
<span style="color:#000000;">var msg; //声明全局变量msg:【1】验证不通过 【0】验证通过
var cbkChecked; //声明全局变量cbkChecked:【所有选中checkbox】
var titleAdmissionsMsg; //声明全局变量titleAdmissionsMsg【提示信息】
function CommonBusinessVerification(cbkChecked, iType) {//全局方法CommonBusinessVerification()【js统一控制,业务验证】
msg = 0;
$.each(cbkChecked, function (index, data) {//【index】索引号 【data】某一项数据
if ($("#" + data.id).attr("izzzt") == "20") {//【已申请】20
Ext.MessageBox.show({ title: '提示', msg: '当前选中的部分记录已申请!', buttons: { ok: '确 定' }, icon: 'ext-mb-question' });
msg = 1;
return false;
}
else if ($("#" + data.id).attr("izzzt") == "30" || $("#" + data.id).attr("izzzt") == "40") {//【院内已审核】30 40
Ext.MessageBox.show({ title: '提示', msg: '当前选中的部分记录已审核!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
msg = 1;
return false;
}
else if ($("#" + data.id).attr("izzzt") == "50") {//【已接诊】50
Ext.MessageBox.show({ title: '提示', msg: '当前选中的部分记录已接诊!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
msg = 1;
return false;
}
else if ($("#" + data.id).attr("izzzt") == "60" || $("#" + data.id).attr("izzzt") == "70") {//【院内已终审】60 70
Ext.MessageBox.show({ title: '提示', msg: '当前选中的部分记录已终审!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
msg = 1;
return false;
}
else if ($("#" + data.id).attr("izzzt") == "90") {//【已作废】90
Ext.MessageBox.show({ title: '提示', msg: '当前选中的部分记录已作废!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
msg = 1;
return false;
}
})
}
//弹出新增窗口
function Add() {
winer.OpenWin('县外转诊新增', GetUrl(this) + 'OutsidePatientReferralEdit.aspx', 800, 490, false, this);
return false;
}
//弹出新增窗口
function Update() {
cbkChecked = $("#div_scroll_x :checkbox:checked");
if ($("#div_scroll_x :checkbox:checked").length == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要修改的记录!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
if ($("#div_scroll_x :checkbox:checked").length > 1) {//只能选择一项的判断
Ext.MessageBox.show({ title: '提示', msg: '只能选择一条记录!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
/*选中数据:其中包含了【已申请】【院内已审核】【已接诊】【已作废】数据*/
if (cbkChecked.attr("izzzt") != "10") {
Ext.MessageBox.show({ title: '提示', msg: '只能修改已起草的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
var values = $("#div_scroll_x :checkbox:checked").val();
winer.OpenWin('县外转诊修改', GetUrl(this) + 'OutsidePatientReferralEdit.aspx?skey=' + values, 800, 490, false, this);
return false;
}
//删除
function Delete() {
cbkChecked = $("#div_scroll_x :checkbox:checked");
if (cbkChecked.length == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要删除的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
var zzzt = cbkChecked.attr("izzzt");
/*选中多条数据:其中包含了部分【已申请】【院内已审核】【已接诊】【已终审】【已作废】数据*/
if (zzzt != "10") {
Ext.MessageBox.show({ title: '提示', msg: '只能删除已起草的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
titleAdmissionsMsg = '是否确认要删除记录?';
Ext.MessageBox.show({
title: '提示',
msg: titleAdmissionsMsg, //'是否确认要删除记录?'
buttons: { yes: '确 定', no: '取 消' },
fn: function (result) {
if (result == "yes") {
__doPostBack("ctl00$ContentPlaceHtml$btnDelete", "");
}
},
icon: 'ext-mb-question'
});
return false;
}
//接诊
function Admissions() {
var cbkChecked = $("#div_scroll_x :checkbox:checked");
if (cbkChecked.length == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要操作的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
else if (cbkChecked.length == 1 && cbkChecked.attr("izzzt") == 50) {
Ext.MessageBox.show({ title: '提示', msg: '当前选中的记录已接诊!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
else {
/*选中多条数据:其中包含了部分已接诊数据*/
for (var i = 0; i < cbkChecked.length; i++) {
if ($("#" + cbkChecked[i].id).attr("izzzt") == "50") {//【已接诊】50
Ext.MessageBox.show({ title: '提示', msg: '当前选中的部分记录已接诊!', buttons: { ok: '确 定' }, icon: 'ext-mb-question' });
return false;
}
}
var titleAdmissionsMsg = '是否确认要接诊记录?';
Ext.MessageBox.show({
title: '提示',
msg: titleAdmissionsMsg, //'是否确认要接诊记录?'
buttons: { yes: '确 定', no: '取 消' },
fn: function (result) {
if (result == "yes") {
__doPostBack("ctl00$ContentPlaceHtml$lbtnAdmissions", "");
}
},
icon: 'ext-mb-question'
});
return false;
}
}
//申请
function Apply() {
cbkChecked = $("#div_scroll_x :checkbox:checked");
var cbkLength = cbkChecked.length;
if (cbkLength == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要确认的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
var zzzt = cbkChecked.attr("izzzt");
if (zzzt != "10") {
Ext.MessageBox.show({ title: '提示', msg: '只能确认已起草的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
titleAdmissionsMsg = '是否要确认该记录?';
Ext.MessageBox.show({
title: '提示',
msg: titleAdmissionsMsg, //'是否确认要申请记录?'
buttons: { yes: '确 定', no: '取 消' },
fn: function (result) {
if (result == "yes") {
__doPostBack("ctl00$ContentPlaceHtml$btnApply", "");
}
},
icon: 'ext-mb-question'
});
return false;
}
//院内审核
function Audit() {
//未选择一项的判断
var chkValue = "";
var izzzt = "";
var chk = $("#div_scroll_x :checkbox:checked");
if (chk.length == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要审核的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
//只能选择一项的判断
if (chk.length > 1) {
Ext.MessageBox.show({ title: '提示', msg: '只能选择一条记录!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
var zzzt = chk.attr("izzzt");
if (zzzt != "20") {
Ext.MessageBox.show({ title: '提示', msg: '只能审核转出已确认的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
chkValue = chk.val(); //sZZDH:转诊单号
//参数:【sZZDH】病人转诊单号 【iType】request 【县外转诊】院内审核
winer.OpenWin('院内审核', GetUrl(this) + 'ReferralExaminationEdit.aspx?sZZDH=' + encodeURI(chkValue) + '&iType=request', 500, 220, false, this);
return false;
}
//终审
function Examination() {
//未选择一项的判断
var chkValue = "";
var izzzt = "";
var chk = $("#div_scroll_x :checkbox:checked");
if (chk.length == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要操作的记录!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
//只能选择一项的判断
if (chk.length > 1) {
Ext.MessageBox.show({ title: '提示', msg: '只能选择一条记录!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
chkValue = chk.val(); //sZZDH:转诊单号
izzzt = chk.attr("izzzt"); //【已审核】60
if (izzzt == "60") {
Ext.MessageBox.show({ title: '提示', msg: '当前选中的记录已审核!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
//参数:【sZZDH】病人转诊单号 【iType】examination 县外转诊审核
winer.OpenWin('县外转诊审核', GetUrl(this) + 'ReferralExaminationEdit.aspx?sZZDH=' + encodeURI(chkValue) + '&iType=examination', 500, 220, false, this);
return false;
}
//作废
function Invalid() {
var iType = "Invalid";
cbkChecked = $("#div_scroll_x :checkbox:checked");
var cbkLength = cbkChecked.length;
if (cbkLength == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要作废的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
var zzzt = cbkChecked.attr("izzzt");
if (zzzt != "30" && zzzt != "40" && zzzt != "20") {
Ext.MessageBox.show({ title: '提示', msg: '只能作废转出已确认、转出已审核的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
titleAdmissionsMsg = '是否确认要作废记录?';
Ext.MessageBox.show({
title: '提示',
msg: titleAdmissionsMsg, //'是否确认要作废记录?'
buttons: { yes: '确 定', no: '取 消' },
fn: function (result) {
if (result == "yes") {
__doPostBack("ctl00$ContentPlaceHtml$btnInvalid", "");
}
},
icon: 'ext-mb-question'
});
return false;
}
//打印
function Print() {
if ($("#div_scroll_x :checkbox:checked").length == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要打印的记录!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
if ($("#div_scroll_x :checkbox:checked").length > 1) {//只能选择一项的判断
Ext.MessageBox.show({ title: '提示', msg: '只能选择一条需要打印的记录!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
cbkChecked = $("#div_scroll_x :checkbox:checked");
var value = cbkChecked.val();
if (cbkChecked.attr("izzzt") == "30" || cbkChecked.attr("izzzt") == "50" || cbkChecked.attr("izzzt") == "60") {
var url = "../PatientReferralPrint.aspx?sZZDH=" + value;
window.open(url, 'PrintWindow', 'height=600,width=900,top=40, left=50,toolbar=0, menubar=0, scrollbars=no, resizable=0, location=0, status=0');
}
else {
Ext.MessageBox.show({ title: '提示', msg: '只能打印转出已审核、已接诊的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
return false;
}
//转诊单号信息查看
function View(values) {
winer.OpenWin('转诊单号信息查看', '../pages/Two_wayReferral/PatientReferral/Inside/InsidePatientReferralView.aspx?skey=' + encodeURI(values),
740, 490, false, this);
return false;
}
//健康档案查看
function HRecordsView(values) {
if ($("input[name*='chkID']:checked").length == 0) {
Ext.MessageBox.show({ title: '提示', msg: '请选择要操作的数据!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
if ($("input[name*='chkID']:checked").length > 1) {//只能选择一项的判断
Ext.MessageBox.show({ title: '提示', msg: '只能选择一条记录!', buttons: { ok: '确 定' }, icon: 'ext-mb-info' });
return false;
}
var ssfzh = $("input[name*='chkID']:checked'").attr("ssfzh"); //身份证号关联【健康档案】
winer.OpenWin('健康档案查看', GetUrl(this) + 'MTC_OutsideHospitalEdit.aspx?State=View&gKey=' + ssfzh,
800, 480, false, this);
return false;
}
//关闭弹出window时,执行的事件
function Refurbish() {
__doPostBack('ctl00$ContentPlaceHtml$AspNetPager1', '');
}
/*TODO【非功能性辅助设计】
*1:Controlcheck(obj)函数:控制【单选】
*2:MultipleSelect(obj)函数:控制【全选】【全不选】
*3:validateApproval()审核通过:【院内审核】【终审】
*4:validate()审核不通过:【院内审核】【终审】
*/
//控制checkbox在单选模式时,只能单选
function Controlcheck(obj) {
if (!$("#chxIsMultipleSelect").attr("checked")) {
if (obj.checked) {
$("#div_scroll_x :checkbox:checked").not(obj).attr("checked", false);
}
}
}
//控制checkbox全选,全不选
function MultipleSelect(obj) {
if (obj.checked) {
$("#div_scroll_x :checkbox").attr("checked", true);
}
else {
$("#div_scroll_x :checkbox:checked").each(function () {
$(this).attr("checked", false);
})
}
}
function validateApproval() {//审核通过
var result = $("#aspnetForm").validate({
rules: {
ctl00$ContentPlaceHolder1$sZSYJ: {
maxlength: 250
}
},
messages: {
},
errorClass: "errorClass"
});
return result.form();
}
function validate() {
var result = $("#aspnetForm").validate({//审核不通过
rules: {
ctl00$ContentPlaceHolder1$sZSYJ: {
required: true,
maxlength: 250
}
},
messages: {
},
errorClass: "errorClass"
});
return result.form();
}
//弹出转诊状态说明
function showMess(formType) {
winer.OpenWin('转诊状态说明', '/pages/Two_wayReferral/PatientReferral/ShowZZZTInstructions.aspx?param=XW&showtype=' + formType, 640, 230, false, this);
return false;
}</span>
讲解篇:
1,注释代码,会提升自身对业务水平的了解;
2,其次,开发起来业务思路清晰很多;