让我们说你有:
if(condition) {
i = 1;
} else {
i = 2;
}
Run Code Online (Sandbox Code Playgroud)
你需要发表评论解释if和else阻止.什么是最易读的方式,所以有人可以在第一眼就轻松拿起它们?
我通常这样做:
//check for condition
if(condition) {
i = 1;
} else {
//condition isn't met
i = 2;
}
Run Code Online (Sandbox Code Playgroud)
由于评论位于不同的级别,我觉得不够好,所以快速浏览一下你就会发现if评论和else评论看起来像是属于某种内部结构.
把它们像这样:
if(condition) {
//check for condition
i = 1;
} else {
//condition isn't met
i = 2;
}
Run Code Online (Sandbox Code Playgroud)
对我来说也不好看,因为看起来整个结构都没有评论(条件可能很大并且需要多行).
像这样的东西:
//check for condition
if(condition) {
i = 1;
//condition isn't met
} else {
i = 2; …Run Code Online (Sandbox Code Playgroud) 我正在运行一个我在Eclipse中用Java编写的程序.对于非常大的输入,该程序具有非常深的递归级别.对于较小的输入,程序运行正常但是当给出大输入时,我得到以下错误:
Exception in thread "main" java.lang.StackOverflowError
Run Code Online (Sandbox Code Playgroud)
可以通过增加Java堆栈大小来解决这个问题,如果是这样,我该如何在Eclipse中执行此操作?
更新:
@Jon Skeet
代码以递归方式遍历解析树以构建数据结构.因此,例如,代码将使用解析树中的节点执行一些工作,并在节点的两个子节点上调用自身,将它们的结果组合在一起以给出树的整体结果.
递归的总深度取决于解析树的大小,但当递归调用的数量达到1000时,代码似乎失败(没有更大的堆栈).
此外,我很确定代码没有失败,因为它适用于小输入的bug.
在使用Silverlight时,我注意到Firefox将缓存XAP文件,因此如果我进行更新,用户可能会使用过时的版本.有没有办法强制浏览器每次都重新下载XAP文件,或者只是在更新发布后才强迫它?或者Silverlight配置中是否有设置阻止浏览器完全缓存XAP文件?
谢谢,杰夫
我和我的朋友使用flex builder(基于eclipse)和subclipse进行项目.
在提交之前我总是更新,但有时我因为冲突而无法提交.然后我使用Team-> Synchronize with Repository,它在右侧显示最新的存储库,在左侧显示我当前的工作副本.它有一个按钮可以从右到左(从最新的存储库到我的工作副本)从所有非冲突中复制.但仍有相互矛盾的路线.
有时我只想从左到右复制,但没有按钮(我的意思是用我的行覆盖存储库文件行).从右到左复制非冲突部分后,我只想提交左侧(我想覆盖并将我的最终文件提交到存储库).由于这些冲突问题我无法承诺.然后我的朋友可以使用Replace With-> Latest from Repository命令获取最新的覆盖版本.
Subclipse文档很薄我在互联网上找不到任何好的指南.你可以像我一样逐步解释subclipse冲突解决吗?显示步骤的视频或快速修复它的外来技术将很好.是否有更好的(更简单的)eclipse源代码控制解决方案?
(我使用subclipse 1.4)
我想,我把手远离德尔福太久了.在过去的几年里,我一直忙于Java和PHP.现在,当我回到做一点Delphi工作时,我意识到我真的很想念Java和PHP都支持的条件运算符.
在Delphi程序中你会找到多少个这样的行?
var s : string;
begin
...<here the string result is manipulated>...
if combo.Text='' then
s := 'null'
else
s := QuotedStr(combo.Text);
result := result + s;
end;
Run Code Online (Sandbox Code Playgroud)
哪里很简单
result := result + (combo.text='')?'null':quotedStr(combo.text);
Run Code Online (Sandbox Code Playgroud)
就够了 我喜欢这个,它不仅缩短了代码,这样我也避免声明一些辅助s:string变量.
为什么条件运算符不是Delphi的一部分 - 它们是否会得到支持?我注意到2009版Delphi(泛型)有很多语言扩展,为什么不添加这个功能呢?
如何从特定日历(特定日期)获取所有项目.让我们说比如每周一晚上我有一个带有重复项目的日历.当我请求所有这样的项目时:
CalendarItems = CalendarFolder.Items;
CalendarItems.IncludeRecurrences = true;
Run Code Online (Sandbox Code Playgroud)
我只买1件......
是否有一种简单的方法可以从日历中获取所有项目(主要项目+派生项目)?在我的具体情况下,可以设置一个日期限制,但只是为了获得所有项目(我的经常性项目本身是时间限制的)很酷.
我正在使用Microsoft Outlook 12对象库(Microsoft.Office.Interop.Outlook).
我对实现复制和粘贴功能的原因感到困惑.这正是我所困惑的:
当我从MS Word(使用与HTML不同的标记语言)复制格式化文本并粘贴到web浏览器中的RTF编辑器(如gmail或http://www.freerichtexteditor.com/index.php?inc=demo/index)时格式保留,但现在标记转换为HTML.这怎么发生的?是什么照顾转换?
如果我将此文本粘贴到其他应用程序中,它将被转换为该格式.如果我复制了一些html页面并将其粘贴到word中,那么将会有从HTML到word的标记转换.再怎么样?
然后,如果我将这个复制的格式化文本粘贴到记事本等文本编辑器中,则所有格式都将丢失,并且标记将被删除.哪个应用程序剥离了标记并将其转换为纯文本?
当我复制格式化文本时,究竟是什么复制到剪贴板中?我是.NET C#程序员.我该怎么编程呢?
很多年前,我记得一位程序员同意这个:
new Some::Class; # bad! (but why?)
Some::Class->new(); # good!
Run Code Online (Sandbox Code Playgroud)
可悲的是现在我不记得他/他的理由.:(两个表单都将正常工作,即使构造函数实际上不存在于Some :: Class模块中,而是从某个父节点继承.
这些形式都不与Some :: Class :: new()相同,它们不会将类的名称作为构造函数的第一个参数传递 - 因此这种形式总是不正确的.
即使两个表单是等价的,我发现Some :: Class-> new()更加清晰,因为它遵循在模块上调用方法的标准约定,而在perl中,'new'方法不是special - 一个构造函数可以被称为任何东西,new()可以做任何事情(当然我们通常期望它是一个构造函数).
例如,当我们调用say,一个递归函数时,连续调用存储在堆栈中.但是,由于错误无效,因此错误是"分段错误"(如GCC所示).
它不应该是'堆栈溢出'吗?那两者之间的基本区别是什么?
顺便说一句,解释比维基百科链接更有帮助(经历过这一点,但没有特定查询的答案).
我经常坐在颠覆工作副本的中间,我想快速svn status找出自上次检查以来我所做的改变.但是svn status只适用于当前文件夹及其子项.(同样svn up也是)
我想快速更改到subversion工作副本的根文件夹,这样我就可以运行svn status并查看所有已更改的文件,可能是签入或更新,然后返回到以前工作的地方.
.net ×2
eclipse ×2
svn ×2
c ×1
c# ×1
calendar ×1
clipboard ×1
coding-style ×1
comments ×1
copy-paste ×1
delphi ×1
delphi-2009 ×1
firefox ×1
java ×1
jvm ×1
memory ×1
methods ×1
module ×1
outlook ×1
perl ×1
recurring ×1
repository ×1
silverlight ×1
stack ×1
subclipse ×1