Javascript 什么';s低级别功能和;顶级功能?
我需要理解以下句子:“Charles Simonyi提出了组织真正大型软件团队的想法,创建了一个超级超级超级程序员编写顶级函数,同时根据需要将低级函数的实现交给一个低声下气的初级程序员团队。他们称这个职位为项目经理。”Javascript 什么';s低级别功能和;顶级功能?,javascript,project-management,function,Javascript,Project Management,Function,我需要理解以下句子:“Charles Simonyi提出了组织真正大型软件团队的想法,创建了一个超级超级超级程序员编写顶级函数,同时根据需要将低级函数的实现交给一个低声下气的初级程序员团队。他们称这个职位为项目经理。” 我想知道什么是顶级功能 较低级别的功能是什么 程序管理员如何轻松地发现顶级和低级功能 你能提供顶层和底层的Javascript示例吗 功能 顺便说一句,上面的引语摘自Joel Spolsky,摘自他关于如何成为程序经理的博客。越接近人类语言,功能的级别就越高 它越接近机器语言,函
顺便说一句,上面的引语摘自Joel Spolsky,摘自他关于如何成为程序经理的博客。越接近人类语言,功能的级别就越高 它越接近机器语言,函数的级别就越低 我很简单,但这里有一些例子: 高级职能:
Car.Start()
Car.MoveTo(Home)
Car.Insert(Key);
if (Car.IsKeyInserted() == False)
return False;
Car.StartEngine();
Car.ApplyAccelerator(0.1f);
Car.ChangeGear();
Car.RotateWheel(-25);
低级功能:
Car.Start()
Car.MoveTo(Home)
Car.Insert(Key);
if (Car.IsKeyInserted() == False)
return False;
Car.StartEngine();
Car.ApplyAccelerator(0.1f);
Car.ChangeGear();
Car.RotateWheel(-25);
简单的问题可以用几句话来回答,但基本主题涵盖了整本书。然而,它与Javascript无关,只是Javascript可以用来创建函数 但是Valdez先生是对的,这完全取决于你的函数定义的抽象级别 软件设计和架构查找还有其他方法 当我们谈论编程中的“高级别”和“低级别”时,通常指的是抽象级别。高级函数是将细节抽象掉的函数,下面是高级抽象的一个示例:
$('div#foo p').show('fast');
该代码段来自jQuery JavaScript框架,它演示了一个非常复杂的任务,但使您能够非常轻松地启动它。较低级别的抽象如下:
$('div#foo p').animate({height: 'show', width: 'show', opacity: 1}, 200);
它仍然是jQuery,但涉及更多细节,它的级别更低。当然,您可以得到更低的级别:
animate(document.getElementById('foo').getElementsByTagName('p'), {
height: 300, width: 600, opacity: 1, alphaFilter: 1
}, 200);
(使用自定义生成的动画方法)
等等等等
最佳抽象级别一直在激烈的争论中。过高可能会导致错误,但过低可能会导致效率低下和浪费时间,尤其是在存在较高抽象级别的情况下。这是指函数位于调用堆栈的最底层。当程序启动时,操作系统调用main()或顶级,包括对下一个较低级别函数的调用。每个函数依次调用其他函数以执行更多基本任务,最终调用操作系统中的函数(例如打开文件)。低级函数是程序中不调用您编写的任何其他函数的函数(但使用操作系统或框架来计算结果等)。顶级函数是一个描述在子函数或函数之外编写程序代码的术语。从声明内容到实际运行程序代码(如vbs/jscript),有不同的级别 它通常不鼓励或不允许使用复杂的语言。例如,VB只允许const和declares以及dim。C#不允许任何顶级语言 我们通常使用更高级别的来描述语言的抽象 在某些语言中,术语将是顶级方法 我记得很久以前读过这篇文章
哪些链接回到该站点实际上,只有高er或低er级别的功能
函数高级(){
福
.init()//啊哈,这是daisychained
.loadFromDatabase()//明白了
.render()//有意义
.logProgress()//对。
}
函数render(){//lowerlevel
//如果
//当
//为了
//投球/接球
//_u.get(foo,'bar.flop')
返回foo
}