internal class CleanCode   {private CultureInfo m_CurrentCulture;private CultureInfo m_CurrentUICulture;private int m_Priority;private string m_Name;

//提供有意义的命名

//一行语句也尽量使用大括号private string FindElement(List<string> argElementList, string argDest)       {if (argElementList == null || argElementList.Count == 0)           {return "";           }else           {//   return (from c in argElementList where c == argDest select c).First();

//return argElementList.FindAll((value) => { return value == "张三"; });return argElementList.Find((value) => { return value == "张三"; });

           }       }

#region 方法抽象级别在同一层次上

public void Init()       {           LocalInit();           RemoteInit();       }

private void LocalInit()       {       }

private void RemoteInit()       {       }#endregion

/*单一职责原则:一个方法只做一件事        *         * 避免过长的方法或类:        *      应该考虑是否可以拆成几个小的方法        *      一般类型的代码超过300行则要考虑是否重构        *      一般方法的代码超过30行、一屏也要考虑是否重构        *              * 只对外公布必要的操作:        *      比如类、方法、属性,默认应该是private的        *              * 重构多个相关属性为一个类        *         * 不重复代码:        *      代码重复不利于维护        *         * 避免过长的if、switch分支:使用“表驱动法”(查字典)        *         *         */

#region “表驱动法”(查字典)

public enum Week       {           Monday, Tuseday, Wednesday, Thursday, Friday, Saturday, Sunday       }static string GetChineseWeekInTable(Week argWeek)       {//调用:GetChineseWeekInTable(Week.Friday)

string[] chineseWeek = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };return chineseWeek[(int)argWeek];       }

/// <summary>/// 调用方式/// </summary>void InvokeTest()       {           SampleClass sample = new SampleClass();           var addMethod = typeof(SampleClass).GetMethod((ActioInTable(Week.Monday)));           addMethod.Invoke(sample, null);       }static string ActioInTable(Week argWeek)       {string[] methods = { "Cleaning", "CleanCloset", "Working", "Working", "Working", "Shopping", "Shopping" };return methods[(int)argWeek];       }

class SampleClass       {public void Cleaning()           {               Console.WriteLine("Cleaning..");           }public void CleanCloset()           {               Console.WriteLine("CleanCloset..");           }public void Working()           {               Console.WriteLine("Working..");           }public void Shopping()           {               Console.WriteLine("Shopping..");           }       }

#endregion

   }

代码简洁(注意事项)相关推荐

  1. JavaScript的代码编写注意事项,建议收藏!

    在我们进行前端开发的过程中,需要遵循一定的代码编写规则,这样才能够让我们写出更合理的.易于阅读和维护的代码,那么你知道在JavaScript中有哪些需要注意的地方吗? 一.块级作用域let 取代 va ...

  2. python中列表生成式strip_列表生成式让你的代码简洁又美观

    本文作者:陈丹慧,中南财经政法大学金融学院 本文编辑:任   哲 技术总编:张馨月爬虫俱乐部云端课程爬虫俱乐部于2020年暑期在线上举办的Stata与Python编程技术训练营和Stata数据分析法律 ...

  3. [简单题]换一个思维,代码简洁度就完全变了(Python实现)

    题目名字: Human readable duration format 原题链接: https://www.codewars.com/kata/human-readable-duration-for ...

  4. python中列表生成式strip_列表生成式|让你的代码简洁又美观

    本文作者:陈丹慧,中南财经政法大学金融学院 文字编辑:任 哲 技术总编:张馨月 导读 已知列表list1=[1,2,3,4,5,6,7,8,9,10],如果我们想把list1中每个元素都加上2010, ...

  5. PHP 代码简洁之道 ( PHP Clean Code)(第二部分)

    PHP 代码简洁之道 ( PHP Clean Code)(第一部分)​ 使用默认参数而不是使用短路运算或者是条件判断 不好的做法: 这是不太好的因为 $breweryName 可以是 NULL. fu ...

  6. 代码简洁的上方滑动门(选项卡tab)jquery插件可重复使用,淡入淡出效果(用)

    代码简洁的滑动门(tab)jquery插件调用方法:"#tabs",".tab_con" 这里的#tabs是jquery选项卡的链接按钮的外层ID,.tab_c ...

  7. 纯js分页代码(简洁实用)

    纯js分页代码(简洁实用) 纯js写的分页代码. 复制代码代码如下: //每页显示字数 PageSize=5000; //分页模式 flag=2;//1:根据字数自动分页 2:根据[NextPage] ...

  8. JavaScript 代码简洁之道

    测试代码质量的唯一方式:别人看你代码时说 f * k 的次数. 代码质量与其整洁度成正比.干净的代码,既在质量上较为可靠,也为后期维护.升级奠定了良好基础. 本文并不是代码风格指南,而是关于代码的可读 ...

  9. js漂浮广告代码(简洁!)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org ...

最新文章

  1. 数字图像处理:blob分析、阈值分割
  2. 【好资源】全网第一份,OpenCV 4-Contrib扩展模块中文教程
  3. xor java_java基于密匙的xor加解密
  4. 如何为windows服务添加安装程序(转)
  5. vscode+XDebug调试远程环境(虚拟机)上的PHP代码
  6. nginx 加路由时报错_Nginx自定义模块编写:根据post参数路由到不同服务器
  7. Java中九大内置对象
  8. node+koa2+mysql搭建博客后台
  9. 深度学习环境搭建之Anaconda安装keras
  10. jeesite中activiti中的流程表梳理
  11. tkinter 隐藏_python Tkinter()如何隐藏UI
  12. ASP.NET2.0中的App_Data文件的作用
  13. python pyhook_Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
  14. iphone测试内存读取速度软件,iPhone7内存不同读写速度有差? 实测差距惊人!
  15. 手机uc7.2java版下载_UC浏览器 JAVA
  16. delphi盒子希腊打开潘多拉魔盒?债务重组或是唯一出
  17. 数据库系统原理与应用教程(041)—— MySQL 查询(三):设置查询条件
  18. AArch64架构内存布局及线性地址转换
  19. 生信格式 | Fasta格式 图解
  20. 浅学一点空间转换3D和动画知识

热门文章

  1. 计算机寄存器及标志位详解
  2. windows-server-2012R2离线中文语言包安装
  3. php递归实现冒泡排序,PHP冒泡排序、快速排序算法
  4. 疲劳驾驶监测方案_【Nano Energy】TENG用于驾驶员驾驶状态监测
  5. 给图片下方加水印_别再看不起美图秀秀啦,想要做长图,批量加水印,用它超级方便...
  6. SpringBoot视频教程
  7. CDH5.16.2下载安装
  8. 2021中国跨境电商发展报告
  9. 中国进口消费市场研究报告2020
  10. Tableau Desktop