我是单元测试的新手,我正在试图弄清楚是否应该开始使用更多的"内部"访问修饰符.我知道如果我们使用'internal'并设置汇编变量'InternalsVisibleTo',我们可以测试我们不想从测试项目声明公共的函数.这让我觉得我应该总是使用'内部',因为至少每个项目(应该?)都有它自己的测试项目.你们能告诉我为什么不这样做吗?我什么时候应该使用'私人'?
默认似乎是大写,但是否真的有任何理由对关键字使用大写?我开始使用大写,因为我只是试图匹配SQL Server在我尝试创建内容时给出的内容,例如新的存储过程.但是,我觉得我的宝宝(第5个)手指感觉很糟糕,总是需要按住Shift按钮,所以我停止使用大写.有什么理由我应该回到大写?
编辑:谢谢你们的答案.在COBOL成为国王的时代,我还没有编程,所以我没有意识到这一点.从现在开始我会坚持使用小写字母.
我试图将日期添加到我的日志文件名中,并且我能够通过遵循我在stackoverflow中找到的一些建议来使其工作.一切正常,但由于某种原因,第一个文件总是有两次附加日期.
例如,而不是log.2009-02-23.log,我得到log.2009-02-23.log.2009-02-23.log.
我发现它很奇怪,而且这是一个非常简单的代码.这不像我在多线程环境中运行它.
我的log4net配置:
<log4net>
<appender name="MyLog" type="log4net.Appender.RollingFileAppender">
<file value="../../Logs/Mylog"/>
<staticLogFileName value="false" />
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value=".yyyy-MM-dd.lo\g" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d{DATE} [%t] %-5p %c - %m%n"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="MyLog"/>
</root>
</log4net>
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
编辑:我想添加有关我正在测试的环境的信息.
- asp.net
- .net framework 2.0
- windows server 2003 64位服务包2
- log4net 1.2.10
我通常在我的工作机器上本地测试我的代码,然后将其移动到开发环境,最后移动到生产环境.在这种情况下使用调试/发布模式的最佳方法是什么?我只需要关心机器中的调试模式吗?我应该将调试模式或发布模式发布到开发吗?我知道可能我应该使用发布模式发布到生产.之前我并没有真正关注所有这些,所以我一直只在调试模式下工作,我知道我不应该这样做.
编辑:谢谢你的回答.看起来在我自己的机器中只使用调试模式是个好主意.即使它在开发机器中,它基本上向公众发布(同事,qa),因此它应该处于发布模式.当然,在向prod发布时它应该是释放模式.
我有一个Web服务查询来自此json文件的数据,但我不希望Web服务每次都必须访问该文件.我想也许我可以将数据存储在其他地方(可能在内存中),因此Web服务可以在下次尝试查询相同数据时从那里获取数据.我有点理解需要做什么,但我不确定如何实际做到这一点.我们如何在Web服务中保留数据?
更新: 这两个建议,缓存和使用静态变量,看起来不错.也许我应该只使用两个,所以我可以先看一个,如果它不在那里,使用第二个,如果它不在那里,那么我会看看json文件.
我知道弹出窗口不好,如果可能的话应该避免,但是真的是现在,每当我想使用弹出窗口时,我应该总是考虑其他选择吗?有没有例外?最后一个问题是:弹出窗口的默认替代品是什么?
只需50个单词即可轻松编写用于语音识别的语法文件,因为您可以手动执行此操作.如果你有10,000或100,000个单词,最简单,最有效的方法是什么?
示例:
假设我们有"RC可乐"和"百事可乐".我们将有2个规则组成的语法文件
:饮料:(COLANAME?[可乐可乐苏打])
COLANAME:[rc pepsi]
它将识别"RC","RC Coke","RC Cola","RC Soda","百事可乐",百事可乐","百事可乐"和"百事可乐苏打".
编辑:我说的是语音识别的语法.语音识别系统需要一个附带的语法文件,以便他们知道要识别的内容(gsl,grxml).而且我实际上也在考虑的不仅仅是任何单词,而是一些你不能分类的名字.
.net ×2
c# ×1
coding-style ×1
json ×1
log4net ×1
memory ×1
persistence ×1
popup ×1
sql ×1
tdd ×1
unit-testing ×1
web-services ×1