我正在实现ActionBar来使用xml中的这个样式脚本设置文本的颜色但是当我运行我的应用程序时间时收到错误确实有人知道我遗漏了什么
这是我的style.xml文件
<!-- Start with the Holographic Light theme -->
<style name="Theme.IOSched" parent="android:style/Theme.Holo.Light">
<item name="android:windowBackground">@drawable/window_background</item>
<item name="android:actionBarStyle">@style/ActionBar</item>
<!-- custom attributes
<item name="textHeaderMaxLines">@integer/text_header_max_lines</item>
<item name="trackAbstractMaxLines">@integer/track_abstract_max_lines</item>-->
</style>
<style name="Theme.IOSched.Home" parent="style/Theme.IOSched">
<item name="android:windowBackground">@drawable/window_background_home</item>
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@color/actionbar_background</item>
<item name="android:textColor">@color/accent_1</item>
<item name="android:titleTextStyle">@style/ActionBarText</item>
</style>
<style name="ActionBarText" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <!-- getting here error-->
<item name="android:textColor">@color/accent_1</item>
<item name="android:textStyle">bold</item>
</style>
error: Error retrieving parent for item: No resource found that matches the given name '@android:style/TextAppearance.Holo.Widget.ActionBar.Title'.
Run Code Online (Sandbox Code Playgroud) 我们正在尝试为我们的团队实现新的编码风格指南,当没有找到"break"时,php codeniffer会在switch case语句上打印警告:
switch ($foo) {
case 1:
return 1;
case 2:
return 2;
default:
return 3;
}
Run Code Online (Sandbox Code Playgroud)
有什么好的理由可以使用:
switch ($foo) {
case 1:
return 1;
break;
}
Run Code Online (Sandbox Code Playgroud)
?? 永远不会到达休息日?
我的团队正在转向Spring 3.0,有些人想要开始将所有内容都移到Annotations中.当我看到一个类似这样的方法的类时,我的肠道感觉非常糟糕(代码味道?):(只是一个例子 - 不是所有真正的注释)
@Transaction
@Method("GET")
@PathElement("time")
@PathElement("date")
@Autowired
@Secure("ROLE_ADMIN")
public void manage(@Qualifier('time')int time) {
...
}
Run Code Online (Sandbox Code Playgroud)
我只是落后于时代,还是这对所有人来说都是一个可怕的想法?而不是使用诸如继承和多态的OO概念,现在通过约定或通过注释来实现一切.我只是不喜欢它.必须重新编译所有代码来改变IMO配置的东西似乎是错误的.但它似乎是一切(特别是春天)的方式.我应该"克服它"还是应该推回并尝试尽可能地保留我们的代码作为注释?
评论功能是否有公认的最佳实践?我只知道doxygen风格,但C++没有正式支持它,就像Javadocs是Java一样,只是想知道什么是最好的.
我正在努力清理我的一些代码,然后我发现我不确定哪条路线会更好.
目前我在我的大多数方法上都有一个try catch块,它最后处理了一些单独的异常,但我认为有更多尝试catch块会更好的维护.但是,在分解代码的过程中,我遇到了为同一类型的异常编写多个块的问题.我可以看到为每个部分编写一个块的好处,因为我可以更详细地说明它失败的原因.
我的问题是......这样做有不利之处吗?我有没有看到性能问题或其他隐藏的怪物?
此外,在方法中处理多个异常的首选方法是什么?是否有行业标准?
为了更好地说明我的观点,这里有一些伪代码
//multiple try catch for same exception
try {
//some code here
} catch (MyException e) {
//specific error message here
}
try {
//some different code here
} catch (MyException e) {
//more specific error message indicating a different issue
}
Run Code Online (Sandbox Code Playgroud) 我意识到这可能被认为是一个主观或可能是一个非主题的问题,所以我希望它不会被关闭,而是会被迁移,也许是程序员.
我开始学习Haskell,主要是为了我自己的教化,我喜欢支持语言的很多想法和原则.在参加了我们玩Lisp的语言理论课之后,我对函数式语言着迷了,而且我听说过很多关于Haskell有多高效的好东西,所以我想我会自己调查一下.到目前为止,我喜欢这种语言,除了一件我无法摆脱的事情:那些母亲正在起作用的功能签名.
我的专业背景主要是做OO,特别是在Java中.我工作过的大多数地方都在许多标准的现代教条中受到重创; 敏捷,清洁代码,TDD等.经过几年的工作,它一定成为我的舒适区; 尤其是"好"代码应该是自我记录的想法.我已经习惯了在IDE中工作,其中具有非常描述性签名的冗长和详细的方法名称对于智能自动完成和用于导航包和符号的大量分析工具来说不是问题; 如果我可以在Eclipse中按Ctrl + Space,那么从查看其名称和与其参数关联的本地范围变量而不是拉起JavaDocs推断出方法正在做什么,我和大便中的猪一样高兴.
这显然不是Haskell社区最佳实践的一部分.我已经阅读了很多关于此事的不同意见,我理解Haskell社区认为其简洁性是"专业人士".我已经阅读了如何阅读Haskell,我理解了很多决策背后的理由,但这并不意味着我喜欢它们; 一个字母的变量名称等对我来说并不好玩.我承认,如果我想继续使用该语言,我将不得不习惯这一点.
但我无法克服功能签名.以这个例子为例,从学习Haskell [...]关于函数语法的部分开始:
bmiTell :: (RealFloat a) => a -> a -> String
bmiTell weight height
| weight / height ^ 2 <= 18.5 = "You're underweight, you emo, you!"
| weight / height ^ 2 <= 25.0 = "You're supposedly normal. Pffft, I bet you're ugly!"
| weight / height ^ 2 <= 30.0 = "You're fat! Lose some weight, fatty!"
| otherwise = …Run Code Online (Sandbox Code Playgroud) 我听说过你应该避免尝试使用catch块的建议,因为它们很贵.
我的问题是关于.NET平台:为什么尝试块很昂贵?
回复摘要:
在这个问题上显然有两个阵营:那些说试试块是昂贵的,那些说"可能只是一点点".
那些说try块很贵的人通常会提到解除调用堆栈的"高成本".就个人而言,我不相信该辩解-阅读有关的异常处理程序如何存储后,专门在这里.
Jon Skeet坐在"可能只是一点点"的阵营中,写了两篇关于异常和性能的文章,你可以在这里找到.
有一篇文章我觉得非常有趣:它谈到了try块的"其他"性能影响(不一定是内存或cpu消耗).Peter Ritchie提到他发现try块中的代码没有被优化,因为它本来是编译器的.你可以在这里阅读他的发现.
最后,有一篇博客文章介绍了在CLR中实现异常的人的问题.在这里看一下Chris Brumme的文章.
这更多是关于程序的调用,而不是任何语言或解析器(尽管我确信选择的解析器库可以依赖于此).看,我使用了很多Linux命令行实用程序.并且有一些明显的模式; ' - '在单个字母前面用于短选项,不带参数的多个选项可以组合,' - '在长版本的选项之前,依此类推.
但是,在某些情况下,大写用于反转选项.因此,' - d'可能意味着作为守护进程运行,但' - D'将不会作为守护进程运行.(如果你不想要它,为什么不省略选项?这一点从来都不清楚,但它实际上相当普遍,所以我认为必定有一些原因.)但在某些程序中,资本是完全不相关的选择; 如果'-d'作为守护进程运行,' - D'可能是启用调试模式.这背后是否有某种首要原则,哪种选择最好?或者我们只是处理"无论什么工作"?
除了(或代替)带参数的选项之外,还有一些命令只需要单独的参数.cp就是一个很好的例子; 除了一对很少使用的切换之外,它接收的最后一个参数被假定为目的地,并且选项列表和目的地之间的任何参数都被认为是源.是否有经验法则依赖于这样的顺序"好",而不是使用带参数的显式选项标志?
我经常使用Request.QueryString[]变量.
在我Page_load经常做的事情:
int id = -1;
if (Request.QueryString["id"] != null) {
try
{
id = int.Parse(Request.QueryString["id"]);
}
catch
{
// deal with it
}
}
DoSomethingSpectacularNow(id);
Run Code Online (Sandbox Code Playgroud)
这一切似乎有点笨拙和垃圾.你怎么处理你Request.QueryString[]的?
有没有广泛使用的SQL编码标准?SQL与C/C++类型的编程语言略有不同.真的不知道如何最好地格式化它的可读性.