为了使main()(在c ++中)保持尽可能干净/小,你可以选择几个选项,但哪个选项最好?初始化main中的所有变量,在main之外初始化它们作为全局,在.h中全局,在主BUT中初始化它们在其他地方设置值(通过将它们传递给函数)。可能还有其他方法,但是,将main()保持为干净/清晰/尽可能小的最佳方法是什么?
答案 0 :(得分:9)
避免像猪流感一样的全球/单身,这是一种不好的做法,并且可能对更大的多线程项目产生非常糟糕的影响。看到你正在使用C ++,你可以将你的应用程序包装成一个大型管理器类型类,它将所有内容都很好地考虑到一个适合你/你的编码风格的风格,然后主要是你需要做的是:
int main(int argc, char** argv)
{
Application MyApp(argc,argv);
return MyApp.start();
}
非常整洁
答案 1 :(得分:2)
有一些常见的模式,比如在有意义的类中封装数据和操作。例如,如果您处理命令行参数或文件配置,则可以创建一个Config
类,您可以从argc
和argv
和/或可能的文件初始化,然后使用该类作为用户可控参数的存储。
另一种常见模式是将main
的所有内容移动到一个类中,该类包含状态作为成员属性,并且具有run
(或main
根据需要调用它)成员函数。这允许轻松重构main
,您不必将所有状态作为函数参数传递。有时这两个选项是混合的,并且类从main
的参数初始化。
没有明确的答案,因为它取决于您main
当前正在做什么,在某些情况下,如果不同的部分保留 long-ish 主要部分仍然有意义是明确分开的,而且太长长, long-ish 和 long 是主观措施......