Tag: devise原则

为什么Java有一个“无法访问的语句”编译器错误?

我经常在debugging程序时发现它很方便(虽然可以说是不好的做法)在代码块中插入return语句。 我可能会尝试在Java中这样的东西…. class Test { public static void main(String args[]) { System.out.println("hello world"); return; System.out.println("i think this line might cause a problem"); } } 当然,这会产生编译器错误。 Test.java:7:无法访问的语句 我可以理解为什么警告可能是合理的,因为没有使用的代码是不好的做法。 但我不明白为什么这需要产生一个错误。 这只是Java试图成为一个保姆,还是有一个很好的理由,使这个编译器错误?

标准使用'Z'而不是NULL来表示缺失的数据?

在是否应该使用NULL的参数之外:我负责使用NULL表示“丢失或从未input”数据的现有数据库。 它与空string不同,意思是“用户设置了这个值,而且他们select了”空“。 项目的另外一个承包商坚定地坚持“不存在NULL,我从来不使用NULL,也不应该使用NULL”。 然而,让我感到困惑的是,由于承包商的团队确认了“缺less/从不进入”和“有意清空或由用户指示为未知”之间的区别,他们在其代码和存储过程中使用单个字符“Z”在整个数据库的其余部分表示“丢失/从不进入”,其含义与NULL相同。 尽pipe我们的共享客户已经要求改变这一点,而且我也支持这个请求,但是团队认为这是DBA中比我更先进的“标准实践”。 他们不愿意单独根据我的无知请求更改为使用NULL。 那么,谁能帮我克服我的无知? SQL专家中是否有任何标准或一小组个人,甚至是一个大声的提倡使用“Z”代替NULL的声音? 更新 我有一个承包商的回应补充。 以下是当客户要求删除特殊值以允许在没有数据的列中允许NULL时他所说的内容: 基本上,我devise的数据库,以尽可能避免NULL。 这是理由: • string[VARCHAR]字段中的NULL是不必要的,因为空(零长度)string提供完全相同的信息。 • 整数字段(例如,ID值)中的NULL可以通过使用永远不会出现在数据中的值来处理(例如,对于整数IDENTITY字段,则为-1)。 date字段中的NULL可能很容易造成date计算的复杂性。 例如,在计算date差异的逻辑(如[RecoveryDate]和[OnsetDate]之间的天数差异)中,如果一个或两个date都为NULL,则逻辑将爆炸 – 除非为两个date为NULL。 这是额外的工作和额外的处理。 如果[RecoveryDate]和[OnsetDate](例如“1/1/1900”)使用“default”或“placeholder”date,math计算可能会显示“exception”值 – 但date逻辑不会被炸毁。 传统上,NULL处理是开发人员在存储过程中犯错的区域。 在我作为DBA的15年中,我发现尽可能避免NULL。 这似乎validation了对这个问题的主要负面反应。 而不是应用可接受的6NF方法来deviseNULL,特殊值用于“尽可能避免NULL”。 我以开放的态度发表了这个问题,很高兴我对“NULL是有用的/ NULL是邪恶的”辩论有了更多的了解,但是现在我很舒服地将“特殊值”方法标记为完全无稽之谈。 一个空的(零长度)string提供完全相同的信息。 不,它不; 在我们正在修改的现有数据库中,NULL表示“从不input”,空string表示“input为空”。 传统上,NULL处理是开发人员在存储过程中犯错的区域。 是的,但成千上万的开发人员已经犯了数千次错误,而避免这些错误的经验教训和注意事项是已知的并且是有logging的。 正如这里所提到的那样:无论你接受还是拒绝NULL,缺失值的表示都是一个解决的问题 。 没有必要发明一种新的解决scheme,因为开发人员继续制造易于克服(易于识别)的错误。 作为一个脚注:我已经是DBE和开发人员20多年了(这当然有足够的时间让我知道数据库工程师和数据库pipe理员之间的差异)。 在我整个职业生涯中,我一直都是在“有用”的阵营,虽然我知道有几个非常聪明的人不同意。 我对“特殊价值”方法持怀疑态度,但对于“如何避免以正确方法行事”这一学者坚持不懈,坚持不懈。 我总是喜欢学习新东西,20年后我仍然有很多东西要学。 感谢所有为此作出贡献的人士提供有用的讨论。

CardView在Android L中不显示阴影

我在Listview内的Cardview在Android L(Nexus 5)中没有显示阴影。 此外,圆形边缘没有正确显示。 这里是Listview的适配器视图的代码: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res/com.example.myapp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:cardBackgroundColor="@android:color/white" android:foreground="?android:attr/selectableItemBackground" app:cardCornerRadius="4dp" app:cardElevation="4dp" > <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingTop="@dimen/activity_vertical_margin" > <TextView android:id="@+id/tvName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_marginTop="@dimen/padding_small" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:textAppearance="?android:attr/textAppearanceLarge" /> <ImageView android:id="@+id/ivPicture" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/tvName" android:layout_centerHorizontal="true" android:scaleType="fitCenter" /> <TextView android:id="@+id/tvDetail" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/ivPicture" […]

用单个null参数调用Java可变参数方法?

如果我有一个可变的Java方法foo(Object …arg)并且我调用foo(null, null) ,那么我将arg[0]和arg[1]设为null 。 但是如果我调用foo(null) , arg本身就是null。 为什么发生这种情况? 我应该如何调用foo ,使foo.length == 1 && foo[0] == null为true ?

在数据库中存储邮政地址的最佳实践(RDBMS)?

在RDBMS中存储邮政地址的最佳实践是否有很好的参考? 似乎有很多可以做出的权衡,每个人都有很多的利弊得到评估 – 这一定会一次又一次地完成? 也许有人至less写了一些经验教训的地方? 我讨论的折衷的例子是将邮政编码作为整数存储为字符字段,应将房号存储为单独的字段或地址线1的一部分,应该将套房/公寓/等号码归一化或仅存储为在地址栏2中的文本块,你如何处理邮编+4(单独的字段或一个大的字段,整数与文本)? 等等 我现在主要关心美国的地址,但是我想有一些最佳实践可以帮助你自己准备好走向全球(例如,像地区一样适当地命名字段,而不是州或邮政编码,而不是邮政编码,等等

有没有更好的等待模式的C#?

我发现自己编码这种types的东西几次。 for (int i = 0; i < 10; i++) { if (Thing.WaitingFor()) { break; } Thread.Sleep(sleep_time); } if(!Thing.WaitingFor()) { throw new ItDidntHappenException(); } 它看起来像不好的代码,有没有更好的方式做这/是一个糟糕的devise的症状?

奇怪的问题与devisevalid_password?

在过去的2个小时里,我一直在试图debugging一个奇怪的问题,不让我login的devise。 以下是我所指的内容: password => 'vinodsobale' password == 'vinodsobale' => true resource.valid_password?(password) => false resource.valid_password?('vinodsobale') => true 附加屏幕截图: 注意:我已经启用了debugging器,所以上面的代码是devise内部代码。 对我来说,它在Devise.secure_compare看起来像一个问题。

C(或一般的程序编程)的devise原则,最佳实践和devise模式?

在deviseC项目时,有没有可以遵循的devise原则,最佳实践和devise模式? 或一般程序性(必要)编程的有用devise原则? (我是“面向对象代”的孩子,第一次必须devise一个大型的C项目)

实施types推断

我在这里看到关于静态和dynamictypes的一些有趣的讨论。 我通常更喜欢静态types,因为编译types检查,更好的文档代码等等。但是,我同意,如果按照Java的方式完成代码,它们会混淆代码。 所以我即将开始构build自己的函数式语言,而types推断就是我想要实现的东西之一。 我明白,这是一个很大的主题,我不是要创造一个以前没有做过的事情,只是基本的推理… 任何指示什么读取将帮助我与此? 最好是更实用/实用的东西,而不是更多的理论类别理论/types理论文本。 如果有一个实现的讨论文本,数据结构/algorithm,这将是可爱的。

面向对象的国际象棋游戏devise

我试图感受到如何以面向对象的方式进行devise和思考,并希望得到社区关于这个主题的一些反馈。 以下是我希望以面向对象方式devise的国际象棋游戏的一个例子。 这是一个非常广泛的devise,我在这个阶段的重点只是确定谁负责什么消息以及对象如何相互作用来模拟游戏。 请指出是否存在不良devise(高耦合,不良内聚等)的元素以及如何改进。 国际象棋游戏有以下类 板 播放机 片 广场 ChessGame 董事会是由广场组成,所以董事会可以负责创build和pipe理Square对象。 每件作品也放在一个正方形上,因此每件作品也有一个对正方形的引用。 (这有道理吗?) 每件作品都有责任从一个方块移动到另一个方块。 玩家类拥有对他拥有的所有棋子的引用,并且也负责他们的创造(玩家是否应该创build棋子?)。 玩家有一个方法takeTurn,它依次调用一个方法movePiece,它属于一个Class类,它将棋子的位置从当前位置改变到另一个位置。 现在我很困惑理事会class子究竟要负责什么。 我认为需要确定游戏的当前状态,并知道游戏何时结束。 但是,当一块改变它的位置如何董事会得到更新? 它应该保持一个单独的方块arrays存在,并得到更新作为件移动? 此外,ChessGame会主动创buildBoard和Player对象,然后分别创build正方形和块,然后开始模拟。 简而言之,这可能是ChessGame中的代码的样子 Player p1 =new Player(); Player p2 = new Player(); Board b = new Board(); while(b.isGameOver()) { p1.takeTurn(); // calls movePiece on the Piece object p2.takeTurn(); } 我不清楚董事会的状态将如何更新。 应该有一个板参考? 责任在哪里呢? 谁拥有什么参考? 请帮助我的投入,并指出在这个devise中的问题。 我故意不专注于任何algorithm或游戏玩法的细节,因为我只对devise方面感兴趣。 我希望这个社区能够提供有价值的见解。