我问这个问题,尽管在枚举和匹配属性的C#命名约定中读过类似但不完全正确的内容
我发现我倾向于将枚举命名为复数,然后将它们用作单数,例如:
public enum EntityTypes {
Type1, Type2
}
public class SomeClass {
/*
some codes
*/
public EntityTypes EntityType {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
当然它有效,这是我的风格,但任何人都可以找到这种惯例的潜在问题吗?我确实有一个"丑陋"的命名与"状态"一词:
public enum OrderStatuses {
Pending, Fulfilled, Error, Blah, Blah
}
public class SomeClass {
/*
some codes
*/
public OrderStatuses OrderStatus {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
附加信息:也许我的问题不够明确.在命名我定义的枚举类型的变量时,我经常要努力思考.我知道最佳实践,但它无助于简化命名这些变量的工作.
我不可能将我的所有枚举属性(比如"状态")公开为"MyStatus".
我的问题:任何人都可以找到上述惯例的潜在问题吗?这不是最佳做法.
问题改写:
嗯,我想我应该这样问这个问题:有人能用一种很好的通用方法来命名枚举类型,这样在使用时,枚举"实例"的命名会非常简单吗?
例如,我有两个实体:Employee和Address.在这些enitities中,Employee有一个外键AddressID引用Address上的ID列.在Java域对象中,Hibernate使用Address对象字段很好地包装了forgein键整数字段.但是现在,我如何使用某个AddressID查询Employee?
我试图创建一个表别名.这似乎有效,但它相当尴尬.
我也尝试过这样的事情:
criteria.add(restriction.eq("TheAddressObjectFieldName", 123);
Run Code Online (Sandbox Code Playgroud)
它工作一段时间但并不总是.我不确定这是正确的方法,但我希望它能一直这样.
那么在hibernate中查询外键列的正确方法是什么?
如何在javascript中检测/跟踪/检查回发(例如在asp.net Page.isPostBack()中)?有什么建议吗?
我看到了与跨域相关的小ajax问题.
在localmachine上我用一些ajax创建了html示例:在注册文本字段中用户类型'username',在每次击键时ajax将它发送到本地Tomcat,其中servlet检查该用户名是否已被使用并发送'take'响应.
在localhost上没问题.只要我输入'username',servlet就会发送'take'响应,浏览器会显示它.
但是,当我在远程机器(在远程网络上有一些免费托管)上放置带有ajax的测试html页面时,我会在我的localhost Tomcat上发送验证请求,建立连接,在Tomcat控制台中我看到请求即将发生,并且在Mozzila中的firebug中这是控制台输出继电器:
GET http://89.216.182.25:8080/Dinamicki1/UsernameServlet?username=zik 200 OK
Run Code Online (Sandbox Code Playgroud)
...但是在响应选项卡中没有'采取'servlet响应,并且firebug中的消息是红色的
所以服务器通信良好,没有防火墙问题,响应是200 OK
但响应体是空的.
任何想法萤火虫的这些红色信息是什么?
非常感谢你提前.
如果有人可以为java推荐一些严肃的ajax教程,将非常感谢:)
什么是使用DOMAIN名称片段对具有一列电子邮件地址的表进行排序的最短和/或最有效的SQL语句?
这基本上忽略了电子邮件地址中"@"之前的任何内容,并且不区分大小写.让我们忽略这个国际化的域名.
目标是:mySQL,MSSQL,Oracle
来自的样本数据 TABLE1
id name email ------------------------------------------ 1 John Doe johndoe@domain.com 2 Jane Doe janedoe@helloworld.com 3 Ali Baba ali@babaland.com 4 Foo Bar foo@worldof.bar.net 5 Tarrack Ocama me@am-no-president.org
通过电子邮件订购
SELECT * FROM TABLE1 ORDER BY EMAIL ASC
id name email ------------------------------------------ 3 Ali Baba ali@babaland.com 4 Foo Bar foo@worldof.bar.net 2 Jane Doe janedoe@helloworld.com 1 John Doe johndoe@domain.com 5 Tarrack Ocama me@am-no-president.org
按域名排序
SELECT * FROM TABLE1 ORDER BY ?????? ASC
id name email ------------------------------------------ 5 Tarrack Ocama me@am-no-president.org 3 …
关于表单验证,我很肛门.因此,在我当前的一个工作申请表项目(平台/语言在这种情况下是中立的)中为"出生数据"(DOB)字段创建验证器时,我想要一些东西来防止"朋克"输入.
我使用了日期选择器,并将最长日期限制为从当天起的XX年.XX对于这种情况有意义,因为任何年轻人都不应该申请这份工作.
验证错误消息是:您似乎太年轻了.
然后我开始冒险.怎么样?
如果DOB超过120年前,请留言:"你不能那么老!!!"
如果将来有DOB,请留言:"你一定是在开玩笑,你还没出生!"
最后,我部署了没有最后2,对我的严肃客户来说太厚颜无耻了.
我想知道你们有多远/多少去验证DOB字段以获得良好的可用性(或幽默感)?
同样的日期,如"结婚日期","毕业年份"等...
PS:当我即将提交这篇文章时,标题文本框下面有一个警告:"你问的问题似乎是主观的,可能会被关闭." 手指交叉.
补充一点: 我很惊讶一些/大多数人都不太关心验证.我在这里重复一下我的评论:
如果用户错误地输入了日期(非常明显),无论是出于意图还是出错; 这是验证者捕捉它的目的之一.当数据进入系统时,站点所有者只知道输入错误,他/她在不询问用户的情况下不知道实际值.如果这个领域非常重要,那将不是一个漂亮的场景.
我在int类型上有一个简单的扩展方法,所以我可以执行以下操作:
string timeLength = 61.ToTime() // timeLength will be "1:01"
Run Code Online (Sandbox Code Playgroud)
这在代码中很有用,但我想在Repeater模板中使用这种扩展方法.数据绑定时,我想执行以下操作:
<%# Eval("LengthInSeconds").ToTime() %>
Run Code Online (Sandbox Code Playgroud)
这没用,所以我试过:
<%# ((int) Eval("LengthInSeconds")).ToTime() %>
Run Code Online (Sandbox Code Playgroud)
它仍然无法正常工作.JIT编译器没有看到我的扩展方法,我在页面中有正确的import语句.
我解决这个问题的唯一想法是用Literal控件替换Eval并在代码隐藏中调用扩展方法,但不管怎样,我仍然想知道为什么这不起作用.
谢谢
asp.net data-binding extension-methods late-bound-evaluation
当我点击一些<button>
元素时,我继承了一堆做出意想不到的事情的代码.
该页面有很多Javascript,并且不清楚在按钮或其父元素上设置了什么(如果有的话)事件.我正在尝试找到执行开始的地方,以便我可以调试正在进行的操作.
有没有办法让Firebug(或任何Javascript调试器)在执行任何 javascript代码时中断?也许某种程度上以编程方式在每一行上设置一个断点?或者是否有其他方法可以找出按钮响应的事件(页面用户boh Prototype,jQuery和一些自定义Javascript.我知道.)
我正在制作一个倾向于在一个页面中处理所有请求的网站(Ajax).所以我认为我可以捕获每个用户点击一个链接,并检查如果它在我的网站上我做了一些关于JavaScript的事情,比如ajax请求,例如,ELSE它会像往常一样打开链接!
在window.location上做一个手表没有用!而且我不知道是否还有#符号之后的url部分.注意:无论使用Gmail和Facebook做,我猜!他们使用的是这样的:
http://mail.google.com/mail/ #inbox
http://www.facebook.com/home.php #/收件箱/ ?REF = MB
请考虑一下:我喜欢在我的项目中使用jQuery,所以任何使用它的解决方案都是首选.
有任何想法吗?
我在考虑将URL值存储在我的数据库中,但我知道某些URL有时会变得荒谬可笑.我认为我的MySQL数据库是5.0版.
我在考虑使用.
VARCHAR(255)
Run Code Online (Sandbox Code Playgroud)
但这只会持续很长时间.所以我应该使用.
TEXT
Run Code Online (Sandbox Code Playgroud) javascript ×3
asp.net ×2
firebug ×2
.net ×1
ajax ×1
c# ×1
criteria ×1
cross-domain ×1
data-binding ×1
date ×1
debugging ×1
domain-name ×1
email ×1
enums ×1
hibernate ×1
html ×1
java ×1
jquery ×1
mysql ×1
mysql-5.0 ×1
plural ×1
postback ×1
sorting ×1
sql ×1
sql-order-by ×1
uri-fragment ×1
url ×1
usability ×1
validation ×1