我很喜欢并强烈推荐Juval Lowy的 - C#Coding Standard.Juval明确地避免了每个指令的基本原理,以保持标准的严格(参见前言).但是,有一些指令我发现自己对基本原理感到好奇.
来自Lowy的C#标准的以下指令的具体原理是什么?
希望这些答案很难(非主观).
1.13避免使用完全限定的类型名称.请改用"using"语句.
这是性能问题吗?有时我只需要一个完全限定名称的实例,并添加一个看起来很重的使用.
1.26在无参数匿名方法上使用空括号.仅当匿名方法可以在任何委托上使用时,才省略括号.
实际上我只是被第二句话弄糊涂了.对示例的解释会有所帮助,谢谢.
2.19避免定义自定义异常类
最小化数字的注意事项是什么?(如果你确定它们,他接下来给出指导(在2.20中).)
2.29避免使用三元条件运算符
读者难以消化或其他考虑因素?
2.31避免在布尔条件语句中进行函数调用.分配到局部变量并检查它们.
我不认为我这样做,但我很好奇......为什么不呢?
2.47避免与一个成员的接口.
因为它总是/通常更优先做什么?一种方法接口工作时?
2.53首选使用显式接口实现
为什么?此外, Jon Skeet在这里不同意.
提前致谢!罗伯特
一些程序员认为理论CS课程(特别是我的学生)并没有多大意义.这是我发现非常相关的东西.让我为那些以前没见过的人制作碎片......
A)编程问题可以重写为有关语言的问题.
B)图灵机识别语言.
C)图灵机可以编码为(大)整数.
D)因此,可能的图灵机的数量是无穷无尽的
E)集合的幂集只是该集合的所有可能子集.
F)如果一个集合是无数的,它的功率集更大,即无数无限.
G)因此,如果一种语言是无限的,它就有无数无数的子集.这些都代表了一个问题.但是,只有很多图灵机可以用来解决这些问题.如果我们无法解决图灵机的问题,就无法解决.
结论......我们只能解决所有问题的无限小部分.
我的问题几乎就在这里......
每当我向学生提出这个论点时,他们就会陷入可数与无数无限之间.他们通常没有很强的数学背景,所以试图通过康托尔的对角化论证来解释他们的眼睛.
通常我试着给他们一些他们可以抓住的东西,比如这样......在计数数字线的任何部分放置一个有限的盒子,我们捕获有限数量的那些数字......但是在有限的数量上放置一个有限的盒子.实数行,我们捕获无限数量的实数.一种证据表明存在的实数比计数数字多.
最后我的问题......你如何向那些从未听过这个概念的人解释多层次无穷大的概念,可能不是数学倾向的?
最终编辑:我通过提出这个问题了解了很多,并且我很感激反馈.我浪费了太多时间试图找出"社区维基"究竟是什么.我了解到,有些人反对理论问题存在固有的偏见,我认为这只是一个错误,因为我们今天做的很多事情都是昨天的理论.但这种偏见是自然的,虽然我不同意理论的价值,但我对它没有任何问题,这有助于我理解我的学生来自哪里.我认为BS评论是不必要的.
我觉得这个问题根本不是一个民意调查或一个2009年的问题.那些只想要编码问题和编码答案的人可能想重新审视这个要求.我已将此问题移至社区维基,但强烈认为我不得不通过不当使用武力来这样做.
我正在尝试向过去8周一直在研究ASP.NET的学生(本科生)讲授ASP.NET MVC(我知道这听起来不是很多时间,但课程是每天4小时,每天5天实验室,测验,考试和摔跤的一周).
我还没有得到这个问题......但我知道它即将来临......
我何时会使用MVC而不是ASP?
我没有ASP MVC的任何实际经验,我在网上找不到任何明确的答案.诸如"......网络是无状态的,ASP MVC是一个更接近的匹配等等"的论点对他们来说并不重要.他们开始注意到ASP有许多控件似乎比MVC简化了他们的标记.
我试图给出一个诚实的旋转,任何反馈将非常感谢!TIA
在阅读果壳中的C#3.0的约瑟夫和Ben阿尔巴哈利,我碰到下面的段落来了(673页,在标题的部分第一段" 与等待信令和脉冲 ")
" Monitor类通过两种静态方法Wait和Pulse提供另一种信令构造.原理是您使用自定义标志和字段(包含在锁定语句中)自己编写信令逻辑,然后引入Wait和Pulse命令来缓解CPU旋转这种低层次的方法的优点是,只有等待,脉搏和锁定语句,可以实现的功能的AutoResetEvent,ManualResetEvent的,和信号量,以及WaitHandle中的静态方法为WaitAll和了WaitAny.此外,等待和脉冲 可以在所有的等待句柄都吝啬挑战的情况下适用的."
我的问题是,对最后一句的正确解释是什么?
还将欣赏这种情况的有启发性的例子,以及可能通过等待和脉冲而不是通过其他方法更有效地处理它们的方式和/或原因.
谢谢!
编辑:我在这里找到了在线文本
我是MVC的新手,我注意到所有混合脚本标签的视图页面看起来都很糟糕.在视图代码隐藏中的方法中生成HTML然后只是将方法的字符串结果作为单个脚本插入是否有意义?
例如: <div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>
这与MVC理念相反吗?愚蠢的其他一些原因,如表现?它有什么优点吗?
我需要进行单元测试,以确保我正在积累假期.但是假期时间根据业务规则累积,如果规则发生变化,则单元测试会中断.
这可以接受吗?我应该通过一个方法公开规则,然后从我的代码和我的测试中调用该方法,以确保单元测试不是那么脆弱吗?
我的问题是:对可能发生变化的业务规则进行单元测试的正确方法是什么?
asp.net-mvc ×2
c# ×1
code-behind ×1
coding-style ×1
infinity ×1
pulse ×1
unit-testing ×1
wait ×1
waithandle ×1