【发布时间】:2014-05-08 10:44:37
【问题描述】:
我从事嵌入式 C 的工作,并正在尝试重构代码以提高可读性并优化我项目中使用的 ROM。
我有这 3 行代码在 switch-case 中重复多次,以更新特定屏幕名称上的特定编辑框。
EbSetText 和 SetState 是预定义的图形库函数。
sprintf(Screen1_Editbox1_Text,"%04d",GetHV(0));
EbSetText((EDITBOX *)GOLFindObject(ID_Screen1_Editbox1), Screen1_Editbox1_Text);
SetState(GOLFindObject(ID_TestProbe_HVEb01), EB_DRAW);
有些代码是这样重复的:
EbSetText((EDITBOX *)GOLFindObject(ID_Screen1_Editbox1), "Text to output");
SetState(GOLFindObject(ID_TestProbe_HVEb01), EB_DRAW);
对于存在的各种文本框和字符串/缓冲区输入,上述代码片段重复了 120 次。它主要损害了我的代码的可读性,并且我的 ROM 接近 90%。
我正在考虑用实用函数替换它以包含上述所有逻辑。
SetTextofEditBox(Screen1_Editbox1_Text,ID_Screen1_Editbox1);
用单一的实用函数代替它在这里有什么好处吗?
【问题讨论】:
-
宏是否对你有用。
标签: c optimization refactoring embedded readability