百科问答小站 logo
百科问答小站 font logo



请各位前辈指导下简练代码的思路? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

你先做这几步:

1、写一大堆代码。

2、标记出重复的部分。

3、剩下的代码思考一下能不能改成相似的形式,从而扩大重复的部分。

4、重新组织代码把重复的部分放到一起,避免穿插不重复的代码。

5、将代码用空行和花括号分成职能相对单一的代码块。


接下来就是一些具体的消重方法了:

1、对于简单的没有控制流的,输入输出都很简单的代码,直接抽出成方法,用VS的重构工具抽取。

2、如果有复杂的控制流,剪枝缩减控制流,并且尝试让重复的代码覆盖所有分支,即可抽出方法,不能抽出成一个方法,也可以根据分支抽出不同方法。

3、对于前后重复,中间不同的代码,将不同部分抽出,作为一个函数参数传入。

4、使用基于约定消灭mapping代码。


另外对于初学者一个很重要的事情就是不要提前抽象代码,不要提前消重,先写出重复的代码,再对代码进行消重工作。




  

相关话题

  你的程序员学习之路是怎样的?你现在对于编程有哪些感想? 
  软件工程界有其它与『操作系统内核』与『浏览器引擎』齐名的高难度项目吗? 
  dynamic 定义类型指向GroupedEnumrable ,遍历取key为什么报异常? 
  为什么C语言用int *a 来声明指针变量,而不是int &a声明? 
  目前的人工智能离可以自己给自己写代码编程还有多远? 
  .Net 新一代编译器 Roslyn 会带来怎样的影响? 
  如何评价博客园关于 C++ 的这篇热门文章? 
  vscode是用什么语言写出来的?为什么华为能做出鸿蒙系统,却开发不出类似vscode的开发工具? 
  有没有什么工具可以帮助理解源代码的? 
  为什么在项目中要尽量避免使用浮点数,不使用浮点数,那该如何计算浮点数? 

前一个讨论
为什么三大运营商至今没有修复十几年以来的计费漏洞?
下一个讨论
编程该怎么学下去(C#)?





© 2025-05-11 - tinynew.org. All Rights Reserved.
© 2025-05-11 - tinynew.org. 保留所有权利