相关疑难解决方法(0)

具体功能与许多参数与上下文相关

一个例子

假设我们有一个要写的文本,可以转换为"大写或小写",并可以"​​左,中,右"打印.

具体案例实现(功能太多)

writeInUpperCaseAndCentered(char *str){//..}
writeInLowerCaseAndCentered(char *str){//..}
writeInUpperCaseAndLeft(char *str){//..}
and so on...
Run Code Online (Sandbox Code Playgroud)

VS

许多Argument函数(糟糕的可读性,甚至在没有很好的自动完成IDE的情况下很难编写代码)

write( char *str , int toUpper, int centered ){//..}
Run Code Online (Sandbox Code Playgroud)

VS

依赖于上下文(难以重用,难以编码,使用丑陋的全局变量,有时甚至无法"检测"上下文)

writeComplex (char *str)
{    
    // analize str and perhaps some global variables and 
    // (under who knows what rules) put it center/left/right and upper/lowercase
}
Run Code Online (Sandbox Code Playgroud)

也许还有其他选择..(并欢迎)

问题是:

对于这种(经常性)三难问题,是否有任何良好实践经验/学术建议

编辑:

我通常做的是结合"特定情况"实现,内部(我的意思是不在标题中)一般常见的多参数函数,只实现用例,隐藏丑陋的代码,但我不知道是否有一种我不知道的更好的方式.这种事情让我意识到为什么发明OOP.

c arguments function global-variables

7
推荐指数
1
解决办法
257
查看次数

标签 统计

arguments ×1

c ×1

function ×1

global-variables ×1