我的老师总是说我们不应该在编程时多次编写相同的代码部分。但是,优先考虑的代码应该是强大的吗? 快速使用类和方法而不是永远记下相同的代码?!调用类比直接代码花费的时间多一点吗?!
例如,如果我想这样做:
Program1.Action1();
Program1.Action2();
Program1.Action3();
&
Program2.Action1();
等等等
我希望这些操作尽可能快地执行,我可以调用actions()或写下完整的代码吗?!
他的问题导致了另一个问题: 对于一个项目,我们需要让老师轻松阅读,因此我们在visual studio上有很多“class tab”,我们将所有内容公开,并在mainform中调用我们的类或方法。
好吧它非常有条理,非常容易阅读,但是不会让代码变慢?! 公共“class tab”比我们的mainform中的私有类慢吗?! 我没有在任何地方找到任何隐瞒的东西..谢谢。
答案 0 :(得分:4)
您始终可以考虑分析的效果。
但实际上,在编译代码时,你应该相信C#会比你做出更好的选择更好。
你在问题中陈述的内容对我来说似乎是不必要的微观优化,可能不会造成一些差别。
可读性和扩展程序的能力是更重要的考虑因素:计算机每年的速度趋于加倍,但程序员的成本越来越高。
答案 1 :(得分:1)
你有一个主要问题和一些问题。
让我分开处理;第一:公共和私人本身不是更快或更慢。理论上,编译器 可以在涉及私有方法时进行更多优化,但我不认为有很多情况可以产生影响。所以,简短的回答是不,公众不会减慢您的代码。
简单的函数调用具有可忽略的成本。如果你没有编写一些循环超过百万次和数百万次的数字密码链代码,那么函数调用的代价就不用担心了。
因此,如果您没有性能问题,则不应该关心它们。在学习的同时帮自己一个忙,并将其写下来10次:如果你没有性能问题,你就不应该关心它们。
您应该专注于代码可读性和算法复杂性,而不是关于可能会或可能不会改善“性能”的微优化,但可能很容易使代码复杂化并产生错误。
易于阅读和测试至关重要(我敢说吗?)98%的软件开发。