Sri*_*nth 6 oop procedural main-method
当我第一次开始编程时,我在main中编写了所有内容.但是据我所知,我试图在我的main()方法中尽可能少地做.
但是你在哪里决定让其他班级/方法有责任接管该计划main()?你怎么做呢?
我已经看到很多方法,像这样:
class Main
{
public static void main(String[] args)
{
new Main();
}
}
Run Code Online (Sandbox Code Playgroud)
还有一些像:
class Main {
public static void main(String[] args) {
GetOpt.parse(args);
// Decide what to do based on the arguments passed
Database.initialize();
MyAwesomeLogicManager.initialize();
// And main waits for all others to end or shutdown signal to kill all threads.
}
}
Run Code Online (Sandbox Code Playgroud)
应该和不应该做什么main()?或者没有银子弹?
谢谢你的时间!
Ste*_*sop 17
主要功能中的代码:
因此主函数中的代码:
在实践中,这意味着真正的应用程序主要没有多少.玩具应用程序和一次性程序可能主要有很多,因为您无论如何都不打算测试或重复使用它们.
实际上,我上面提到的一些内容是C++特有的.Java主要方法当然可以通过测试代码或变体应用程序调用.但是它们仍然不将对象作为参数,只使用命令行参数,因此它们在测试中被隔离的程度或在重用方面表现良好的程度非常低.我猜你可以为它们传递类名来实例化并用来创建应用程序的其余部分.
[编辑:有人从这个问题中删除了"C++,Java"标签.所以:我上面说的是C++和Java特有的.其他语言可能会以不太特殊的方式对待main,在这种情况下,您可能没有特别的理由特别对待它.
在我看来,一个大型项目的"主要"应该包含大约3个函数调用:
任何相当大的应用程序都将分为多个功能块,通常具有一些层次结构.主控制器可以具有多个用于特定功能的子控制器.
这样做可以更容易地找到特定功能,并且关注点分离更好.
当然,正如其他回复所说,软件开发中确实没有银弹.对于一个简短的项目,我可能会将所有内容都放在主要内容中,以便快速启动并运行.我认为还取决于语言 - 某些选项在特定语言中可能比其他选项更容易.