[后来:仍然无法弄清楚Groovy是否有静态类型(似乎没有)或者使用显式类型生成的字节码是否不同(似乎是).无论如何,关于这个问题]
Groovy和其他动态语言(或至少是Ruby)之间的主要区别之一就是你可以 静态 在需要时显式键入变量.
那就是说,什么时候应该在Groovy中使用静态类型?以下是我能想到的一些可能的答案:
我不只是对你的工作感兴趣,更重要的是你在Groovy编码的项目中看到的.什么是常态?
注意:如果这个问题有些不对或错过某些类别的静态动态,请告诉我,我会解决它.
我已经检查了各种问题.第一个提供了一个巨大的问题和答案(相关的?不确定),第二个提供了错误的答案作为最佳答案.
我有一个叫做的分支great-use-this.我有另一个叫做的分支master.我想合并great-use-this到master中,并避免自动合并冲突.
什么是做到这一点最简单和最简单的方法是什么?
注意:我实际上已经想到了这一点(使用第三个分支ours,但是无论如何这对SO来说会很好.
我6天前发布了一个新版本.我在iTunesConnect分析中看到了一些崩溃,但崩溃组织者中没有崩溃,我的版本也没有出现在崩溃组织者的"版本"下拉列表中.
通常情况下,崩溃报告发布后需要一两天才能进入Xcode Crashes组织者,而且我已经看到崩溃出现在Xcode Crashes组织器中的时间与iTunesConnect分析网站大致相同.
有趣的是,之前的版本仍然显示在"版本"下拉列表中,我可以看到报告继续为它们涓涓细流.之前版本的崩溃报告急剧下降,大概是因为大多数人已经转移到最新版本.
在新机器上,安装了新的XCode(但链接到同一个开发人员帐户),我看到了相同的行为.也许这是我的开发者帐户的问题?
更新2016.09.01:两个月后,新版本仍未自动显示在版本下拉列表中.下面发布的手动添加它们的解决方法一直很好用,但希望我不必永远这样做.我必须假设这是我本地设置的问题,因为这不会发生在每个人身上.如果你想出一个长期的解决办法,请告诉我.
更新2016.10.13:我最近的版本中的解决方法不起作用.我再次看到ITC崩溃,但在Info.json手动添加该版本的条目后,我看到"此版本没有可用的崩溃信息".
更新二零一六年十月十五日:我想解决办法是继续工作,崩溃报告只是由延迟额外的 48小时.
更新2016.1.20:在某些时候,(可能在12月中旬左右,XCode 8.2?),我开始看到新的版本再次自动出现,并且每次推送构建时都不再需要手动编辑我的XCode配置数据.除了更新XCode之外,我无法想到任何可能"修复"它的方式.
我在Rails 3.x中做这样的查询
Speaker.where("name like '%yson%'")
Run Code Online (Sandbox Code Playgroud)
但是我想避免使用特定于DB的代码.这样做的正确方法是什么?
如果在Rails 2.x中有一种方法可以做到这一点,那也会有所帮助.
我最近正在做一些PHP工作,在我看过的所有代码中,人们倾向于使用很少的方法.(他们也倾向于使用很少的变量,但这是另一个问题.)我想知道为什么会这样,我发现这个音符"一个带有一个参数的函数调用和一个空函数体大约需要7-8美元一样的时间localVar的++操作.类似的方法调用当然是约$ 15 localVar的操作++" 在这里.
这是真的吗,即使PHP页面已被编译和缓存?我应该尽可能避免使用方法来提高效率吗?我喜欢用重复代码块的方法编写组织良好,人类可读的代码.如果有必要在没有方法的情况下编写平面代码,是否有任何程序可以"内联"方法体?这样我就可以编写漂亮的代码,然后在部署之前将其弄糟.
顺便说一句,我一直在看的代码来自Joomla 1.5核心和几个WordPress插件,所以我认为他们是知道他们在做什么的人.
注意:我很高兴每个人都跳过这个问题来谈论一般的优化,但事实上我们正在谈论解释语言的优化.至少有一些暗示我们谈论PHP的事实会很好.
我们有一个客户端(有一个客户端,有一个客户端)让我们对代码库的更改请求感到厌烦(在PHP中).我们的第一个响应是在SVN的主干中工作,但客户端经常回来并请求某个更改需要尽快推送到实时服务器.另一方面,其他变化突然降低了优先级,最初与其他变化(看似)组合在一起.
我们正在考虑为每个变更请求使用分支.这疯了吗?还有哪些其他解决方案?
谢谢!
编辑:这是一个非常难以选择正确答案的问题.感谢大家的回答.
编辑:我知道我选择的最佳答案并不是特别受欢迎.我也想找到解决这个问题的技术方案.但是现在我认为如果客户想要的软件具有可以以模块化方式部署的功能...... 在我们使用版本控制系统时不应该解决这个问题.它必须被设计到软件中.
编辑:现在已经差不多一个月了,我的同事/客户已经说服了我,多个分支是要走的路.这不仅仅是因为客户的精神错乱,而且还基于我们需要能够确定某个功能是"准备就绪"还是"需要更多工作"等等.我没有SVN和我在一起,但我们合并中使用来自SVN食谱的建议:在合并分支从它被分流至头文件的修订版本.
此外,使用此系统,我们在某个时刻合并所有分支,这将成为新的QA,然后是实时构建.然后我们从那里开始.
最后编辑(也许):几个月后,这个系统仍在为我们工作.我们为每张票创建分支,很少遇到问题.另一方面,我们确实试图将事情分开,就像人们在做什么一样......
两年后:我们现在使用GIT,现在这个系统实际上非常合理.
由于我熟悉Ruby,我即将使用它在OSX上编写一些内容.但后来我想,也许我错过了这条船.我知道有很多理由喜欢Ruby而不是Bash(或者任何sh兼容的命令语言解释器),但我不知道有什么理由不这样做.直接编程shell有什么好处?
我打算system在必要时使用系统命令.
注意:我已经知道Ruby并不总是存在,但我对技术,语义和句法标准感兴趣.
编辑: Ruby并不总是存在,我的意思是它不是所有*nix发行版的标准部分,不像vi.
似乎我的代码可以检查null,如果我这样做
if ($tx)
Run Code Online (Sandbox Code Playgroud)
要么
if (isset($tx))
Run Code Online (Sandbox Code Playgroud)
为什么我会写第二个更难写?
我知道我可以在Rails中做到这一点:
<%="hello" %>
Run Code Online (Sandbox Code Playgroud)
但有没有办法做到这一点
<%
echo "hello"
%>
Run Code Online (Sandbox Code Playgroud)
让它出现在响应中?