我的编程风格使一切都很昂贵,或者我真的讨厌重复任何事情,主要是因为我是为嵌入式系统开发的。所以当我不得不做一些引起重复的事情时,我会非常生气。
例如,在我当前的项目中,我正在创建一个布局管理器。我有一个巨大的功能,做了所有的工作,所有的东西,我不介意,只要我很好的评论。在这条线上,我意识到,我在这个长函数中所做的事情,我需要在其他地方再做一次,比如调整一些比电流更大的东西。但真正让我恼火的是,所需的函数需要三个变量(以及我发布的原因)。对我来说,这三个变量很昂贵,每次调用只需要计算一次。但是要按照我需要的方式重构代码,我必须将变量放入所需的函数中。现在对变量进行三次评估。
这只是一个例子,像这样的事情出现在很多其他地方,所以除了告诉我这些评估并不昂贵,到那时我会说,“我还在重复它”,对这种事情可以做些什么,或者,让我非常恼火的是,它是不可避免的吗?
更新:给出的主要建议之一是存储价值。再次使用上面的示例,存储该值似乎不可行。主要是因为所需的函数接受两个所需的值,用于计算这三个变量。这意味着我必须创建一个对象,如果我错了,可以随时更正,将值和变量存储到对象中,然后测试它们是否已经更改。
简而言之,除非有其他想法,否则这似乎是不可避免的。你能做的唯一真实的事情就是将极限降到最低。我以属性查找为代价创建对象有多深?有多少次我要反复创建这三个变量?我希望你明白这个想法。
事实上,也许我可以更好地重构我的代码。我倾向于用很大的函数来写东西,并且只拿出我需要的东西,这可能是KISS的错。我认为需要另一个缩略语来平衡事情:P。
发布于 2011-09-22 01:15:20
你在为嵌入式系统编程吗?如果不是这样的话,现代硬件就会在这样的日常细节上喋喋不休,这是不可能的,除非你是在高频交易中计算纳秒。
请记住,代码是为人编写的,而不是为机器编写的。一个需要智能开发人员一周才能理解的代码的处理速度要快几毫秒,这比任何开发人员都可以查看、了解、添加特性和在紧要关头重构的稍微慢一点的应用程序要少得多。
发布于 2011-09-22 13:21:02
这是一个好主意,不要重复自己,这是干的原则的一部分。然而,编译器通常会处理这些小的优化。
不值得为这件事而激动。
这是一个好主意,不要重复自己,这是干的原则的一部分。然而,编译器通常会处理这些小的优化。
不值得为这件事而激动。
https://softwareengineering.stackexchange.com/questions/109969
复制相似问题