首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【重构】 代码的坏味道总结 Bad Smell (一) (重复代码 | 过长函数 | 过大的类 | 过长参数列 | 发散式变化 | 霰弹式修改)

过长函数(Long Method) 用到的重构方法 : Extract Method(提炼函数), Replace Temp with Query(以查询取代临时变量), Introduce Parameter..., 并以代码的用途命名; -- 关键 : 函数长度不是关键, 关键在于 函数 是 "做什么", 和 "如何做"; 常用分解方法 : Extract Method(提炼函数) 适用于 99% 的过长函数情况...: 使用 Introduce Parameter Object(引入参数对象) 和 Preserve Whole Object(保持对象完整) 方法 可以将过长的参数列变得简洁一些; -- 杀手锏 :...如果使用了上面 消除临时变量和过长参数的方法之后, 还存在很多 参数 和 临时变量, 此时就可以使用 Replace Method with Method Object(以函数对象取代函数方法) ;..., 也要将其提炼到函数中; -- 条件表达式 : 当 if else 语句, 或者 while 语句的条件表达式过长的时候, 可以使用Decompose Conditional(分解条件表达式) 方法,

78110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Rust 的编译时间过长

    Rust 代码的编译时间可能会比某些其他编程语言长,原因有以下几点: Rust 使用了静态类型,这意味着编译器需要更多的时间来验证类型安全性。与动态类型的语言相比,这可能会导致编译时间变长。...如果你在编译 Rust 代码时遇到了长时间的等待,可以尝试以下几个方法来提高编译速度: 使用适当的编译器标志来进行优化。...Rust 编译器提供了一些标志,例如--release,可以对代码进行更多的优化,从而加快编译速度。同时,你还可以尝试禁用某些优化标志,以提高编译速度。 使用增量编译。...Rust 编译器支持增量编译,这意味着只有修改的代码和相关的代码会重新编译,从而大大减少了编译时间。 使用编译缓存。...检查代码是否存在潜在的性能问题。有时候,代码的编译时间长可能是因为代码本身存在一些性能问题。通过检查代码,优化一些性能较差的部分,可以加快编译速度。

    13510

    python表白代码-表白python代码

    闲话少说,让我们来欣赏这些代码吧~01 委婉的表白! python代码: 以下的数字对应的是ascii码: python一行代码实现心形: 效果图:?...2准备这个代码仍然是用简单的python编写的,用到的模块也只有小编以往多次使用pygame,其下载方式依然是用pip安装。 只需要在命令行运行以下代码安装即可。...pip install pygame3详细… (暗指他对比过多种编程语言,但还是觉得 python最简单)”但我想这就是 python.”单线迷宫cmd 命令下输入下列代码实现单线迷宫。...一行代码… 点进去发现一行python代码可以做这么多丧心病狂的功能! 整理了一下知乎上这篇文章的内容,颇觉有趣,分享给大家。...3一行代码表白爱情print(n.join( … 点进去发现一行python代码可以做这么多丧心病狂的功能! 整理了一下知乎上这篇文章的内容,颇觉有趣,分享给大家。

    2.7K50

    Roslyn 使用 WriteLinesToFile 解决参数过长无法传入

    通过阅读本文,大家可以学会怎么写出一些神奇的代码。 任务的背景是,在编译的过程,暗中修改一些代码,而且让开发者发现不了。 最简单的方法就是修改编译流程,修改编译流程是相对比较复杂的。...我很负责和大家说,会的,如果现在不修改代码直接调用就会出现读取到的文件可能是空的 还记得 DependsOnTargets 这个属性?...通过这个属性可以指定一个 Target 在什么时候运行,在运行辅助程序的代码就需要依赖上面的代码运行。...严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB3491 未能向文件“obj\Debug\netcoreapp2.0\lindexi\Items.txt”写入命令行。...测试项目请点击 Roslyn 使用 WriteLinesToFile 解决参数过长无法传入 1.0-CSDN下载 参见: 项目文件中的已知属性(知道了这些,就不会随便在 csproj 中写死常量啦) -

    80630

    Roslyn 使用 WriteLinesToFile 解决参数过长无法传入

    通过阅读本文,大家可以学会怎么写出一些神奇的代码。 任务的背景是,在编译的过程,暗中修改一些代码,而且让开发者发现不了。 最简单的方法就是修改编译流程,修改编译流程是相对比较复杂的。...我很负责和大家说,会的,如果现在不修改代码直接调用就会出现读取到的文件可能是空的 还记得 DependsOnTargets 这个属性?...通过这个属性可以指定一个 Target 在什么时候运行,在运行辅助程序的代码就需要依赖上面的代码运行。...严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB3491 未能向文件“obj\Debug\netcoreapp2.0\lindexi\Items.txt”写入命令行。...测试项目请点击 Roslyn 使用 WriteLinesToFile 解决参数过长无法传入 1.0-CSDN下载 参见: 项目文件中的已知属性(知道了这些,就不会随便在 csproj 中写死常量啦) -

    65320
    领券