Refactoring -- Rename (重命名,为方法,类,参数等重命名)
好像没什么好说的,就是让方法名,类名,参数等等的名称都能做到“见文识意”,让代码带有更多的语义,这样有啥好处呢?作为开发人员的我们,维护或者调用其他开发人员写的代码的可能性还是很大的吧,你是否有感触命名对代码的可维护性的重要性呢?(没感觉?那肯定是受害不深,呵。)
按照敏捷的意思是要考虑尽可能的把注释写进代码里,因为代码的修改频率大大的高于注释的维护频率,往往代码修改了,注释还是“风采依旧”,这样导致注释对代码的误注,让维护人员更头大。
没错,说得都挺好,说出来谁也都明白,关键是为啥代码中的这个“异味”就是如此的难以清除呢?(难道也是因为编码者受害不够深?)本人也是苦苦追寻,不知其解。个人总结两个字“忽悠”
你是否在问某个具体问题如何解决还是在追寻某类问题如何解决呢?你是否只为解决问题而在求助还是也会思考问题背后的真理呢?你是否碰到有人问你问题时你给他讲述理论时却被要求只要解决方案呢?等等,这些忽悠过去就完事的态度,导致在写代码的时候当然不会考虑到维护代码人员的痛苦,更不会为老板考虑成本了。(维护成本,bug增加带来的成本)。
这种忽悠个人主要来自管理层了,管理层不重视代码质量,只为完成所谓的功能,交差即可。(政治工程做好即ok。)没有长远做大做强的意识。当然其次是coder自己了,对自己没要求,对自己的成长没有想法。(个人观点,别多想!)。
见过用中文命名变量的没?你说编译器也太强大了吧,这下搞得注释真写进代码里头了,呵。(个人认为还是太二,不专业!)
我也忽悠完了,看看demo吧,感受重命名的魅力吧。
public class Person
{
public string FN { get; set; }
public decimal ClcHrlyPR()
{
// code to calculate hourly payrate
return 0m;
}
}
{
public string FN { get; set; }
public decimal ClcHrlyPR()
{
// code to calculate hourly payrate
return 0m;
}
}
// Changed the class name to Employee
public class Employee
{
public string FirstName { get; set; }
public decimal CalculateHourlyPay()
{
// code to calculate hourly payrate
return 0m;
}
}
public class Employee
{
public string FirstName { get; set; }
public decimal CalculateHourlyPay()
{
// code to calculate hourly payrate
return 0m;
}
}
一切尽在不言中,感受去吧!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述