标签: conventions

我应该使用默认(Foo),Foo.Empty还是null?

所以C#现在允许你用来default(Foo)获得一个认可的"未填充"/空类的实例 - 我不确定它是否完全相同new Foo().许多库类还实现了一个Foo.Empty属性,该属性返回一个类似的实例.当然,任何参考类型都可以指向null.那真的,有什么区别?什么时候是对还是错?什么更一致,或表现更好?在检查对象在概念上是否"未准备好黄金时间"时,我应该使用哪些测试?不是每个人都有Foo.IsNullOrEmpty().

c# constructor conventions

3
推荐指数
1
解决办法
272
查看次数

是否有类似于Maven2约定的Ant约定?

在过去的两年里 - (ish)我一直在使用Maven2来构建/持续集成解决方案.之前我曾经使用过Ant,但实际上并没有获得很多经验.现在我已经接受了一份新工作,我现在正在使用Ant.

我想知道的是:

在Maven中,我们有分离java源代码和文件以及java测试文件(JUnit测试)的目录约定.它看起来像这样:

Project-
  -src/main/java
  -src/test/java
Run Code Online (Sandbox Code Playgroud)

这样,您的测试将与源/生产代码分开,并且不会像这样构建/部署.

浏览Ant文档我真的没有看到任何约定.我错过了什么吗?Ant中有类似的约定吗?

java ant automated-tests conventions

3
推荐指数
1
解决办法
584
查看次数

使用ControllerClassNameHandlerMapping使用Spring MVC进行配置的约定?

按照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

3
推荐指数
1
解决办法
5500
查看次数

C#:你应该在哪里放置事件处理程序委托?

我有这门课:

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>代表,我不知道应该放在哪里.它应该有自己的文件吗?只有...那一行?(当然还有命名空间)

你经常这样做吗?

c# conventions event-handling

3
推荐指数
1
解决办法
2509
查看次数

Objective-C NSThread引用计数约定(保留vs自动释放)

我的主程序产生一个线程,执行以下命令:

// 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

3
推荐指数
1
解决办法
1805
查看次数

可以为空的外键的优点

我需要为一些新组件构建一个表,以跟踪可用和已用库存.它将是这样的:

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,那么有什么优势呢?
对我来说让它可以为空是更有意义的.

我看了一些类似的情况,但我不确定为什么有人会选择一个而不是另一个.

sql conventions foreign-keys

3
推荐指数
2
解决办法
676
查看次数

FabricJS - 设置对象位置,其中枢轴为左上角

我开始使用非常棒的FabricJS框架,并注意到对象定位与CSS约定有点不同.CSS将定位枢轴放置在左上角的位置,FabricJS将其放置在对象的中心:

CSS

@------------
|           |
|           |
|           |
|           |
|           |
-------------
Run Code Online (Sandbox Code Playgroud)

FabricJS

-------------
|           |
|           |
|     @     |
|           |
|           |
-------------
Run Code Online (Sandbox Code Playgroud)

有没有办法控制这个设置?谢谢.


编辑:

这是项目路线图中的退出项目.所以它将在未来发生,但目前尚未得到支持.

positioning canvas conventions fabricjs

3
推荐指数
1
解决办法
2941
查看次数

Javabean约定 - 属性gId的方法命名

如果我的Java类中有一个属性'gId',那么访问器方法应该被命名为什么?

getGId 是我的假设.

如果有一个属性,gURL我认为它会是getGURL,哪种看起来很难看(虽然不是指女孩的另类拼写).

如果属性只是url方法名称getUrl是好的眼睛,是的,我不会将属性命名为URL,这首先会使访问者丑陋 -getURL

我记得在Javabean规范PDF中读到了关于属性大写的问题以及涉及缩略语的案例,但不再能在PDF中找到它.

有没有人提到它或请确认我说的是对的?

java convention conventions naming-conventions javabeans

3
推荐指数
1
解决办法
1646
查看次数

github仓库中lib目录的含义

大多数时候,当我在github中查看项目时,我会看到lib /目录。

我只是在谷歌搜索是否有lib /目录的常规含义。但是我找不到很多。

我想知道lib /目录是什么,以便选择从哪里开始在github项目中查看。

具有lib /目录的项目。

编排

吞咽

javascript directory conventions github

3
推荐指数
1
解决办法
921
查看次数

C中的共依赖定义

假设我们在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对许多人来说晦涩的函数指针.我认为这是一个很好的例子,此外,接受的答案非常干净,清晰,简单.

c conventions

3
推荐指数
1
解决办法
55
查看次数