每次我使用一些图形工具包开始一个项目时,最先发生的冲突之一就是决定如何处理视觉设计和小部件布局:图形工具还是手工编码?
这是一个非常棘手/主观的问题,因为大多数人会根据个人喜好来决定.它还在很大程度上取决于图形工具的质量.在这种情况下,我想只关注最新版本的QT库.我不打算讨论哪种方法更好.我确信最好的答案是:取决于项目.
根据几个项目后的经验,我想要的是一篇好的非偏见文章的参考.这篇文章应该只描述两种选择的权衡
在Markdown编辑器中,我想支持文本突出显示,不是代码突出显示,而是人们在书上突出显示的类型.
在面向代码的网站中,人们can use backquotes
使用灰色背景,通常是段落内的内联代码.但是在书上有一个段落中普通文本的记号笔.那是黄色背景上的经典黑色文字.
Markdown(或其变体)中是否有任何语法指定用户是否需要该类型的突出显示?我想保留代码相关标记的反引号语法,但也想要一种启用突出显示的用户文本的方法
我的第一个想法是使用双反引号,因为三重反引号是为代码块保留的.我只是想知道其他实现是否已经为它确定了语法...如果有人能够证明这是一个非常糟糕的主意,我也会感激.
最近我失去了对OOP的信任.我已经看到很多关于普通OOP滥用或仅仅过度使用的抱怨.我并不是指a-a和has-a relationship之间的常见混淆.我的意思是处理关系数据库时ORM的问题,C#继承的过度使用,以及几年来看看具有相同错误封装信念的代码,Scott Meyers在Effective C++的第23项中提到了这一点.
我有兴趣了解更多关于这个和非OOP软件模式,可以比他们的OOP对应物更好地解决某些问题.我确信在那里有很多人就如何使用它作为非纯OOP语言(如C++)的优势提供了很好的建议.
有谁知道任何好的参考(作者,书籍,文章)开始?
请注意,我正在寻找两个相关但不同的东西:
考虑到UUID rfc 4122(16字节)远大于MongoDB ObjectId(12字节),我试图找出它们的碰撞概率如何比较.
我知道这种情况不太可能,但在我的情况下,大多数ID将在大量移动客户端中生成,而不是在有限的服务器集中生成.我想知道在这种情况下,是否存在合理的担忧.
与通常由少数客户生成所有ID的情况相比:
我正在使用initWithContentsOfURL:构造函数加载NSManagedObjectModel模型,如下所示:
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MyDocument" withExtension:@"momd"];
NSManagedObjectModel *mom = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
Run Code Online (Sandbox Code Playgroud)
但是,这只能让我访问模型的最新/当前版本.是否可以使用相同的momd文件加载以前的版本?怎么样?
C显示其年龄的一个方面是代码的封装.许多现代语言都有类,名称空间,包......比组织简单的"包含"更方便组织代码.
由于C仍然是许多大型项目的主要语言.你如何克服其局限?
我想一个主要因素应该是很多纪律.我想知道你在处理大量的C代码方面做了些什么,你可以推荐哪些作者或书籍.
由于Linux内核是GPL而不是LGPL,我认为将专有代码链接到它是违法的.该行业如何规避这一点?我希望GPL许可证会强制任何开发人员在GPL驱动程序和/或内核模块下发布.
也许我很困惑,实现一个新模块并没有真正链接内核代码??? 公司如何处理这个问题?也许链接相反(从内核到他们的二进制文件)?
另一方面,有BSD内核.您可以自由链接受保护的IP.你能在BSD内核中实现更好的驱动程序设计吗?在为GPL内核实现驱动程序时是否有任何设计限制?
在Xcode中,在我的单元测试结束时,我得到如下结果:
测试套件'所有测试'在2012-12-06 10:23:38 +0000完成
执行195次测试,在4.314(4.485)秒内有0次失败(0次意外)
我很想知道如何定义具有预期故障的测试.
通常使用其他测试框架,我希望能够将不完整的单元测试定义为必须完成的未来工作的提醒.这些测试应仅作为警告记录,但如果其他一切正常,仍会产生"成功"最终结果
看看Xcode的输出,我假设有一种方法可以达到同样的效果.但是,我在找到正确的宏来标记不完整/ TODO测试时遇到问题.此外,我觉得正常的失败报告为:
执行了95次测试,在2.314(2.334)秒内出现1次失败(0次意外)
因此,任何测试断言似乎都是预期的.在那种情况下,我甚至对(0个意外)失败的含义感到困惑.
任何人都可以解释这部分日志结果的含义吗?如何使用它?我怎样才能标记不完整的测试?
我对为Python脚本编写shebang的标准方法感到困惑.
我有一个简单的"python"链接,根据系统,它可能是Python 2.x或Python 3.x,这是一个问题,因为两者都不兼容.
作为一个解决方案,我在我的shebang中编写了这个版本,并且有类似的东西:
#!/bin/env python3.2
Run Code Online (Sandbox Code Playgroud)
但这似乎很愚蠢,因为它会阻止我的脚本在任何其他3.x版本中运行
我注意到有些系统将python2链接到最新版本.这有帮助,因为这样我就可以编写简单的脚本,比如"Hello World",它不会随每个版本而破坏.
我已经安装了Python 2.6,2.7,3.1和3.2使用只是"python"的shebang从可移植性的角度来看是没有意义的.使用确切的版本会妨碍可维护性.我有一个python2链接,但不是python3
是否有任何标准和/或PEP指定如何安装Python?一个说我部署到必须有一个链接到最新版本的python3和/或python2?
阅读一个SO问题,我意识到我的Read服务可以提供一些更聪明的对象,比如ViewModels而不是简单的DTO.这使我重新考虑Read Services返回的对象应提供哪些信息
以前,只使用DTO,我的读取服务只是将数据库查询的平面视图映射到散列状结构,具有最小的规范化和无行为.
但是,我倾向于将ViewModel视为"更智能"的东西,它可以生成数据库未提供的信息,如状态图标,计算值,重新格式化值,默认值等.
我开始看到一些ViewModel对象的构造可能会变得更复杂,并且如果我使我的通用ReadServiceInterface仅返回ViewModels ,则可能存在缺点:
(1)我应该为CQRS返回的ViewModels规划一些设计限制吗?就像确保它们的构造几乎和普通DTO一样快?
(2)DTO本质上很容易被序列化并准备好发送到SOA架构中的外部系统或嵌入到消息中.这是否意味着使用ViewModels会对我的架构产生负面影响?
(3)我应该在读取服务之外保留哪种类型的ViewModel?
(4)我是否应该从Read Services中检索所有ViewModel?
在过去,我实现了一些需要多个查询的ViewModel.在CQRS中,我认为,这是一种设计气味,因为它们提供的所有东西都只能在一个查询中.
我正在开始一个新项目,我认为任何查询都将返回聚合对象或DTO.从现在开始ViewModels发挥作用.我想知道:
(5)我是否应该计划在我的架构中的查询将产生两种类型的对象(ViewModels + Aggregates)或三种(+ DTO)?
bsd ×1
c ×1
c++ ×1
cocoa ×1
coding-style ×1
core-data ×1
cqrs ×1
driver ×1
dto ×1
gpl ×1
guid ×1
installation ×1
kernel ×1
licensing ×1
markdown ×1
mongodb ×1
mvvm ×1
object-model ×1
ocunit ×1
oop ×1
python ×1
qt ×1
qt-designer ×1
reference ×1
rfc4122 ×1
shebang ×1
syntax ×1
testing ×1
unit-testing ×1
uuid ×1
viewmodel ×1
widget ×1
xcode ×1