在解释型编程语言中,例如PHP和JavaScript,采用面向对象方法而不是程序方法会产生什么影响?
具体而言,我正在寻找的是在创建Web应用程序和在过程和面向对象方法之间进行选择时要考虑的事项清单,以便不仅优化速度,还要优化可维护性.如果你知道任何进一步探讨这一问题的文章,那么引用的研究和测试用例也会有所帮助.
结论:在解释性语言中使用OO与Procedural进行比较时,性能是否真的有多大(如果有的话)?
oop procedural maintainability performance interpreted-language
控制反转(或IoC)在第一次遇到时会非常混乱.
在Python程序中给定带有函数名称的字符串调用函数的最佳方法是什么.例如,假设我有一个模块foo,我有一个内容为的字符串"bar".什么是最好的打电话foo.bar()?
我需要获取函数的返回值,这就是我不仅仅使用它的原因eval.我想通过使用eval定义一个返回该函数调用结果的临时函数来做到这一点,但我希望有更优雅的方法来做到这一点.
如果您曾经使用过Eclipse,那么您可能已经注意到了一个很棒的键盘快捷键,它可以让您点击一个快捷键组合,然后只需键入函数,类,文件名等的前几个字符.它甚至足够智能打开文件首先在列表中.

我正在为Visual Studio 2008寻找类似的功能.我知道codeproject上有一个findfiles插件,但是那个有bug并且有点奇怪,并且不允许我访问函数或类.
我有一个简单的页面与我ScriptManager和我UpdatePanel,我ContentTemplate有一个ListBox和一个标签.我只是想抓住它,OnSelectionChanged所以我可以更新文本Label.无论我尝试调整什么设置,我总是得到整页回发.
这真的不行,或者我只是搞砸了吗?
原始问题
我目前正在教我的兄弟去编程.他是一个初学者,但非常聪明.(而他实际上想学习).我注意到我们的一些会议陷入了细微的困境,我不觉得自己组织得很好.(但这篇文章的答案有很多帮助.)
我能做些什么来有效地教他?是否有一个逻辑顺序,我可以使用概念按概念运行?是否有复杂性我应该避免到以后?
我们使用的语言是Python,但欢迎任何语言的建议.
如何帮助
如果您有好的,请在答案中添加以下内容:
请描述资源及其链接,以便我查看.我希望每个人都知道我一直在使用这些想法.您的提交内容将在此帖中汇总.
教学初学者的在线资源:
推荐用于教学初学者的打印书籍
我正在Visual Studio下开发一些针对Mono的跨平台软件,并且希望能够通过单击按钮来构建Windows和Linux(特别是Ubuntu)的安装程序.我想我可以通过从后期构建事件中调用cygwin来做到这一点,但我希望充其量只是一个Visual Studio插件,或者更糟糕的是更多的Windows本地方式.看起来封装格式相当简单,这必须是常见的需求.
编辑:由于重复登录问题,在其他帐户下重新提问.
我有一个$results从服务返回的perl变量.该值应该是一个数组,$results应该是一个数组引用.但是,当数组中只有一个项目时,$results将设置为该值,而不是包含该项目的引用数组.
我想foreach在预期的数组上做一个循环.没有检查ref($results) eq 'ARRAY',是否有任何方法可以获得与以下内容相同的内容:
foreach my $result (@$results) {
# Process $result
}
Run Code Online (Sandbox Code Playgroud)
该特定代码示例将用于参考,但会抱怨简单的标量.
编辑:我应该澄清,我无法更改从服务返回的内容.问题是当只有一个值时,该值将是一个标量,当有多个值时,它将是一个数组引用.
如何设置我的crontab以在每天晚上11:59执行X脚本而不通过电子邮件发送或创建任何日志?
现在我的crontab看起来像这样
@daily /path/to/script.sh
Run Code Online (Sandbox Code Playgroud) 我正在使用TeamCity Continuous Integration服务器在linux上编译一个NAnt项目.我已经能够通过命令行运行器在单声道上运行NAnt来生成测试报告,但是没有像NAnt Runner那样使用报告的选项.我也在使用MBUnit作为测试框架.
如何在测试报告中合并并显示"测试失败:1(1新),传递:3049"用于构建?
更新:看一下MBUnitTask它的NAnt任务,该任务使用TeamCity期望从NUnit发送的消息,因此它允许您使用TeamCity的所有功能进行测试.
更新: Galio有更好的支持,所以你只需要引用Galio MBUnit 3.5 dll而不是MBUnit 3.5 dll并切换到galio runner以使其工作.