gpt4 book ai didi

c#-4.0 - 一般编程问题

转载 作者:行者123 更新时间:2023-12-02 09:13:13 25 4
gpt4 key购买 nike

思考三个问题 A、B 和 C。

A使用x,y方法求解;

B 使用 x、z 和

C 使用 x,y,z。

哪一个更好,哪一个可以提供更好的性能,以及哪一个更具可读性:

  1. “编写三种不同的方法”

  2. “编写一种方法并采用一种方法或两个参数并决定哪个部分将在 if 语句中运行”

请解释原因。

最佳答案

您需要在性能和模块化之间进行权衡。

性能 - 当您创建三个方法时,将当前函数保存在堆栈上、分配新函数框架以及进行调用等可能会产生更高的开销。但是随着我们每天的机器和内存变得越来越快、越来越大,您选择在 .NET 框架上编写代码这一事实本身就说明了一些事情。这种琐碎决策的性能并不是什么大问题,所以我更愿意将其模块化。

模块化 - 一个方法只做一件事,并且可以很容易地被其他程序员理解,而无需真正理解您的想法,从长远来看,这是更好的代码。想象一下错误、修复、测试的成本,以及 future 不同开发人员在不同时间点一遍又一遍地理解代码所需的时间。如果您有一个非常模块化的方法/函数,那么与复杂的函数相比,它可以单独测试,并且具有更高的可重用性,因为其他开发人员如果理解您的 API/代码或两者都会感到自信。

这是个人观点,我倾向于降低长期维护成本、提高可重用性、可测试性而不是性能。

我会用 x、y、z 分解您正在实现的功能,并创建尽可能多的方法。这遵循简单的规则:每个方法只做一项工作。然后,您可以组合这些方法来实现 A、B、C 所需的任何功能。

关于c#-4.0 - 一般编程问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5308814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com