所以C#现在允许你用来default(Foo)获得一个认可的"未填充"/空类的实例 - 我不确定它是否完全相同new Foo().许多库类还实现了一个Foo.Empty属性,该属性返回一个类似的实例.当然,任何参考类型都可以指向null.那真的,有什么区别?什么时候是对还是错?什么更一致,或表现更好?在检查对象在概念上是否"未准备好黄金时间"时,我应该使用哪些测试?不是每个人都有Foo.IsNullOrEmpty().
在过去的两年里 - (ish)我一直在使用Maven2来构建/持续集成解决方案.之前我曾经使用过Ant,但实际上并没有获得很多经验.现在我已经接受了一份新工作,我现在正在使用Ant.
我想知道的是:
在Maven中,我们有分离java源代码和文件以及java测试文件(JUnit测试)的目录约定.它看起来像这样:
Project-
-src/main/java
-src/test/java
Run Code Online (Sandbox Code Playgroud)
这样,您的测试将与源/生产代码分开,并且不会像这样构建/部署.
浏览Ant文档我真的没有看到任何约定.我错过了什么吗?Ant中有类似的约定吗?
按照Spring Source和Spring in Action一书中的说明,我试图以最小化xml配置的方式设置Spring MVC.但是根据Spring Source,您可以设置ControllerClassNameHandlerMap
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
<bean id="viewShoppingCart" class="x.y.z.ViewShoppingCartController">
<!-- inject dependencies as required... -->
</bean>
Run Code Online (Sandbox Code Playgroud)
这让我觉得完全无用,因为使用处理程序来手动设置bean实际上更简单,因为它大约相同数量的XML.
现在,Spring in Action这本书听起来就像你需要的那样是该代码块的第一行使用ControllerClassNameHandlerMapping,这将使它更有用.但是,我还没有能够让它发挥作用.
任何有Spring经验的人都可以帮助我吗?
configuration spring conventions spring-mvc convention-over-configur
我有这门课:
public class GenericEventArgs<T> : EventArgs
{
public GenericEventArgs() : this(default(T)) {}
public GenericEventArgs(T value) { Value = value; }
public T Value { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
这个事件处理程序代表它:
public delegate void GenericEventHandler<T>(object sender, GenericEventArgs<T> e);
Run Code Online (Sandbox Code Playgroud)
我目前在命名空间中将这些文件放在同一个文件中.这被认为是糟糕/凌乱/等等吗?因为,一般来说我会说每个文件应该只包含一个类.所以为了让它干净,我宁愿GenericEventArgs单独在文件中使用该类.但后来我有这个GenericEventHandler<T>代表,我不知道应该放在哪里.它应该有自己的文件吗?只有...那一行?(当然还有命名空间)
你经常这样做吗?
我的主程序产生一个线程,执行以下命令:
// alloc autorelease pool somewhere before
NSArray *blah = [NSArray arrayWithObject: @"moo"];
[self performSelectorOnMainThread: @selector(boonk:) withObject: blah
waitUntilDone: NO];
// release autorelease pool somewhere after
Run Code Online (Sandbox Code Playgroud)
现在,这似乎对我来说是错误的,因为自动释放池可以在选择器boonk:完成执行之前释放,这会导致崩溃.
所以,我接下来的自然行动将是:
// alloc autorelease pool somewhere before
NSArray *blah = [[NSArray alloc] initWithObject: @"moo"];
[self performSelectorOnMainThread: @selector(boonk:) withObject: blah
waitUntilDone: NO];
// release autorelease pool somewhere after
- (void)boonk: (id)data
{
// do something with data
[data release]; // release the ref count the thread added
}
Run Code Online (Sandbox Code Playgroud)
这绝对没有错误,但......似乎不自然.是否有一个objective-c引用计数约定或协议来处理这种情况(交叉线程等待发布),或者是第二种解决方案,它的工作方式是什么?
multithreading memory-management conventions objective-c nsthread
我需要为一些新组件构建一个表,以跟踪可用和已用库存.它将是这样的:
CREATE TABLE components
(
component_Id int NOT NULL PRIMARY KEY,
workOrder_Id int FOREIGN KEY,
componentSerial varchar(25) NOT NULL,
foo varchar(50),
bar int,
information nvarchar(250)
date DateTime
)
Run Code Online (Sandbox Code Playgroud)
如果FOREIGN KEY workOrderID尚未使用而不是NOT NULL且默认值为0,那么有什么优势呢?
对我来说让它可以为空是更有意义的.
我看了一些类似的情况,但我不确定为什么有人会选择一个而不是另一个.
我开始使用非常棒的FabricJS框架,并注意到对象定位与CSS约定有点不同.CSS将定位枢轴放置在左上角的位置,FabricJS将其放置在对象的中心:
@------------
| |
| |
| |
| |
| |
-------------
Run Code Online (Sandbox Code Playgroud)
-------------
| |
| |
| @ |
| |
| |
-------------
Run Code Online (Sandbox Code Playgroud)
有没有办法控制这个设置?谢谢.
这是项目路线图中的退出项目.所以它将在未来发生,但目前尚未得到支持.
如果我的Java类中有一个属性'gId',那么访问器方法应该被命名为什么?
getGId 是我的假设.
如果有一个属性,gURL我认为它会是getGURL,哪种看起来很难看(虽然不是指女孩的另类拼写).
如果属性只是url方法名称getUrl是好的眼睛,是的,我不会将属性命名为URL,这首先会使访问者丑陋 -getURL
我记得在Javabean规范PDF中读到了关于属性大写的问题以及涉及缩略语的案例,但不再能在PDF中找到它.
有没有人提到它或请确认我说的是对的?
大多数时候,当我在github中查看项目时,我会看到lib /目录。
我只是在谷歌搜索是否有lib /目录的常规含义。但是我找不到很多。
我想知道lib /目录是什么,以便选择从哪里开始在github项目中查看。
具有lib /目录的项目。
假设我们在struct上有一个函数指针,它有一个struct本身作为第一个参数,一个典型的回调场景.
typedef void (*callback_type)(my_struct_type *mst, int whatever);
typedef struct {
// lots of fun stuff
callback_type notify_me;
} my_struct_type;
Run Code Online (Sandbox Code Playgroud)
typedef正如人们所料,这会在第一个上产生编译器错误.error: unknown type name my_struct_type.反转定义会产生相同的结果,但未知类型是callback_type.
简单的解决方案是执行以下操作:
typedef struct my_struct_type_S {
// lots of fun stuff
void (*notify_me)(my_struct_type_S *mst, int whatever);
} my_struct_type;
Run Code Online (Sandbox Code Playgroud)
但是,这样做会省略函数指针类型定义,以后可以很容易地引用它,并用于静态类型检查,漂亮的错误消息等等.
有关如何解决此问题的任何建议?
编辑"可能重复":此方案涉及typedefs对许多人来说晦涩的函数指针.我认为这是一个很好的例子,此外,接受的答案非常干净,清晰,简单.
conventions ×10
c# ×2
java ×2
ant ×1
c ×1
canvas ×1
constructor ×1
convention ×1
directory ×1
fabricjs ×1
foreign-keys ×1
github ×1
javabeans ×1
javascript ×1
nsthread ×1
objective-c ×1
positioning ×1
spring ×1
spring-mvc ×1
sql ×1