tzengshinfu
2020-03-31 10:19:58 +08:00
前阵子帮朋友除错公司自行开发的 IT 系统,
个人感想是:
「如果是使用以英文为主的开发语言框架还是尽量用英文命名变数。」
那个 IT 系统大部分业务逻辑都在资料库,
而从数据库(表格 /字段 /预存程序)、开发语言框架(常数 /变数 /函数名称)
全部都是中文命名,而且变数没有任何注解。
我发现使用中文命名变数花费的成本会有:
1.思维切换
//函数
public string 手动线上更新 Button_Click(object 传值, EventArgs 事件) {
//实作
}
//预存程序
CREATE procedure [dbo].[proc_权限复制] (@目的帐号 nvarchar(50)='AAAA') as
delete from [网页权限] where [工号]=@目的帐号;
select * from #temp;
//Linq
var 帐号 = 资料库.使用者帐号.Where(帐号=>帐号.代号 == 使用者代号).FirstOrDefault();
要在符号文字(英文字母、宣告关键字、等号及括号)与图形文字(中文字)之间切换,要一段时间才能适应。
2.命名风格
因为中文字都是统一高度,
不管是常数或变数一眼望去全部就像常数;
而英文字母本身有大小写,
这点比较能区分。
3.辨识度
英文字母构造比较简单,
有类似的字母也可以用一些编程专用字体去区分 0/O/I/l/1 ;
而有缩放程式码需求的场景,
在缩小时如果有较复杂的中文字(如霸 /壸 /壹等)要花一点眼力判断,
或用到一些相似中文字(日 /曰)会有混淆的可能性。
4.输入补完
中文没办法输入一个键就能自动带出变数清单。
所以目前我个人还是把变数当成是一种占位符号,
变数本身名称会写的简短,而详细的意义则由备注取得,
如:
/// <summary>
/// 订单金额=单价 x 数量
/// </summary>
public decimal orderAmount
其实中文命名只是要花费一些思维改变适应的成本,
最重要的是一定要写上备注在变数宣告跟数据库字段,不写备注就该打。