我已经接管了一个混合的PHP4/PHP5项目,该项目已经从开发人员传给开发人员,每个项目都会让事情变得更糟.在我花费太多时间之前,我想开发一个基本标准,至少具有一致的格式.
任何人都可以推荐一个重新格式化代码的实用程序(最好是Linux或Mac OS X)吗?
如果我可以设置影响输出的参数(如制表符缩进,大括号/括号放置,何时将数组值拆分到新行等),那么这是一个好处,虽然不是至关重要的.
首选开源工具,但我也想了解您购买软件的经验.
我需要使用Git进行一些提交,但我希望将来git-log中的时间戳.
如何在git中进行提交,导致将来的时间戳记在git-log中注册?
我似乎不太了解两个OOP概念.你能解释什么是抽象和多态,最好用真实的例子和代码吗?
谢谢.
我是 SVN 的粉丝,我很乐意设置自己的 svn 存储库,但我想知道是否有比创建单独的存储库更好的选择。
基本上,我只是在寻找一种在我的代码被审查并签入主存储库 (SourceSafe) 之前跟踪或回滚更改的方法。
注意:我无法控制我们使用哪个版本控制系统(更喜欢 svn 或 svk),所以坚持使用 SourceSafe 作为主存储库。
我在我的网站的根目录中有一个内容管理应用程序,我正在尝试在子文件夹下使用不同的应用程序(计费应用程序).不幸的是,根网站的web.config干扰了子应用程序.
有没有办法只禁用子文件夹的web.config继承?
更新:
由Stephen Burris链接,使用<location>标记可以阻止部分Web配置的继承,如下所示:
<?xml version="1.0"?>
<configuration>
<configSections>
....
</configSections>
<location path="." inheritInChildApplications="false">
<appSettings>
....
</appSettings>
<connectionStrings/>
<system.web>
....
</system.web>
<system.codedom>
....
</system.codedom>
<system.webServer>
....
</system.webServer>
</location>
<runtime>
....
</runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在<configSections>与<runtime>部分将不接受被封装在标签...所以我想这不仅会大部分的工作.谁知道怎么做得更好?
我正在开发一个有很多外部服务消息传递的项目.仅以略微"双曲线"方式描述它的一种好方法是系统必须向Flicker API,Facebook API和Netflix API发送消息的应用程序.
为了支持断开连接的场景,日志记录问题,开发人员可用性,配置等...我已经尝试使用一种大量使用泛型和表达式树的方法.最终结果如下:
Messenger<NetflixApi>.SendCustom( netflix => netflix.RecommendMovie("my message"));
Run Code Online (Sandbox Code Playgroud)
总的来说,我对最终结果感到满意,但感觉我犯了一个错误,或者忽略了一个关于测试和断开连接的场景的设计主管.
在测试过程中,无论是基于自动化,单元还是人工,我都实现了一个最初使用DI在"实时模式"中执行正确操作的对象工厂,并使用Mocks提供了一种无效的信使,它在所有在测试模式下.
我只看过或读过关于Mocks在纯TDD模式下使用而不习惯是一种愚蠢的对象.我见过的方法将围绕存根或模拟我正在使用的所有API所依赖的HTTP通信功能.
我主要担心的是,我期望连接到的所有不同服务是否最终都需要进行大量细化工作来替代特定的HTTP实现,如果我使用存根方法,我将为每个服务提供3个类(IService,ConcreteService,StubService)并在实现新方法或更改任何内容时维护它们将是真正的PITA.
在当前的实现中,我使用Mocks免费获得"无菌模式",几乎不需要为了符合某个测试主体而实现任何额外的功能.
问题是我错过了什么吗?我是否以更方便的方式使用Mocks侵犯了设计主体?
任何人都可以提供任何关于如何从许多不同的外部服务中获得无菌模式的建议,而不会跳过很多箍?
这个问题有意义吗?
感谢所有的答案.
编辑#1:
我原来的问题并不清楚.任何null或mock对象都将纯粹用于开发/调试/测试环境中.在生产中,发送这些消息的代码将是它们的实际实现.
我投票给大家,因为这个问题似乎有很多不同的解决方案,我会探索每个问题.
请不要认为这个问题已经回答了,我会尽可能多地了解我的建议.
我正在研究嵌入式处理器(400 MHz Intel PXA255 XScale),我想我看到一个没有足够内存来满足"新"操作的情况.该程序没有崩溃,所以我假设其他线程已经释放了他们的记忆,这只是一个短暂的事情.这是一些非常关键的代码,因此退出不是一个选项,需要将某种错误返回给远程用户.
以下小修补程序是否足以解决问题,还是有更好的方法?在用以下代码替换每个'new'之前,我想我会问.
char someArr[];
do{
someArr = new char[10];
Sleep(100); // no justification for choosing 100 ms
} while ( someArr == NULL );
Run Code Online (Sandbox Code Playgroud)
睡眠有帮助吗?我应该设置一些最大重试次数吗?是否可以在任何地方使用静态初始化?
最后更新:非常感谢您提供有用的响应,但事实证明在代码检查中存在错误的内存分配错误.我会记住所有这些答案,尽可能多地替换malloc和new(特别是在错误处理代码中).
我在我正在编写的Apache模块中使用dlopen(),这样我就可以为我的模块安装一个插件系统.我发现,如果我编译我的模块,编译我的插件,并启动Apache,一切都工作很好.
但是,如果在完成所有这些操作之后,我重新编译了我的插件,(对插件代码进行了一些或两次更改),我的下一页加载将导致Apache出现段错误.每个后续请求再次正常工作.因此,只有在编译后立即加载第一页导致段错误.
我一直试图解决这个问题几天(我在C调试方面表现不佳)今天,我在apache错误日志中注意到了这一点:
Inconsistency detected by ld.so: dl-close.c: 719: _dl_close: Assertion `map->l_init_called' failed!
Run Code Online (Sandbox Code Playgroud)
任何人都知道发生了什么事吗?这是否意味着它不是我的代码而且我一直在寻找幻影错误?我相信每次调用dlopen()都会调用dlcose().但是,当我在单进程模式下运行apache并开始快速刷新页面时,似乎会发生这种特殊的bug/segfault.
这是一段有趣的代码,我的团队成员正在就......进行稍微热烈的讨论.
Dim fred As Integer
If True Then fred = 5 : fred = 3 : fred = 6 Else fred = 4 : fred = 2 : fred = 1
Run Code Online (Sandbox Code Playgroud)
执行上面的代码片段后,fred的值是多少?
尽量不要欺骗和调试代码.
这是一个非常人为的代码示例,最初是作为使用带有If语句的冒号的示例,但后来有人决定自己为fred提供结果.
更新:我通常不会编写这样的代码,这个代码片段仅作为示例.碰巧的是,这个问题起源于一个涉及为我们团队创建编码标准文档的讨论.
我有兴趣学习MVC,并尝试过几个示例应用程序.作为一个项目,我想把我自己办公室应用程序的部分或全部移动到MVC.此应用程序以及我的所有客户应用程序的一个重要部分是打印发票,采购订单,库存清单等.事实上,他们判断我们所做工作的主要标准之一是这些文件的外观以及它们以实用,直观的方式融入应用程序.
没有报告撰稿人,我就不可能顺利过关.用于生成rdlc报告的MSFT报告查看器已足够,甚至比几个关键领域的竞争对手更好.
此控件是否适用于ASP.NET MVC应用程序?
abstraction ×1
apache ×1
asp.net ×1
asp.net-mvc ×1
c ×1
c# ×1
c++ ×1
colon ×1
debugging ×1
dependencies ×1
dlopen ×1
embedded ×1
git ×1
if-statement ×1
mocking ×1
new-operator ×1
oop ×1
php ×1
polymorphism ×1
tdd ×1
vb.net ×1
viper ×1
windows-ce ×1