好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#代码

C#代码

也是C#代码吗 --- 代码阅读性进阶:中文为王

 

没有太多的罗嗦,代码本身已经足够。如果,要添几个标签的话就是: 中文化流畅性API。

只有几点补充说明:
1。 这都是真实可运行的代码,请看测试状态:  点击Login as guest
2。 测试使用Machine Specification, 重点是Establish部分。 
3。仅仅使用于集成测试(用户故事);不建议业务领域和单元测试使用。
4。这里只列出最终使用代码(测试说明一切);避免细节/实现的干扰。实现请看:  Examples.cs   "一个“语法的实现   ”要“语法实现

得心应手武器库:

MSpec

  本文所涉及使用的工具, 见前文:  我的.Net武器库 ------ 新.Net架构必备工具列表

 使用的视屏演示:

  1   using   System.Linq;
   2   using   Machine.Specifications;
   3   using   Skight.Arch.Domain;
   4   using   Skight.Arch.Domain.Core.Containers;
   5   using   Skight.Arch.Domain.Extensions;
   6   using   Skight.Arch.UserStories.Helpers;
   7   using   Skight.ES.Register.Presentation;
   8   using   Skight.ES.Register.Presentation.Modal;
   9   using   Skight.ES.Register.Presentation.Web.Application;
  10   using   Skight.ES.Register.Presentation.Web.ExamDistrictAdmin;
  11   using   Skight.ES.Register.Services;
  12   using   Skight.ES.Register.UserStories.Helpers;
  13  
 14   namespace   Skight.ES.Register.UserStories.作为.考区组考人.我想查看考试从而可以了解考试信息
  15   {
  16      [Subject( "  考试  " ), Tags( "  集成测试  " ,  "  用户故事  "  )]
  17       public   class   当浏览某考试界面 : CommandTestBase
  18       {       
  19           private  Establish that =
 20              () =>
 21               {
  22                   要.创建(示例.考区.省直);
  23  
 24                   要.创建(示例.考试定义.计算机)
  25                       .添加科目(示例.科目.AutoCAD)
  26                       .添加科目(示例.科目.Windows2000)
  27                       .添加科目(示例.科目.WindowsExcel);
  28  
 29                   要.创建(示例.考试.省直2012年1月计算机考试)
  30                       .设为电子化考试()
  31                      .设置考试起始时间(Date.Of( 2012 , 1 , 1 ),Date.Of( 2012 , 2 , 1  ))
  32                       .设置审核()
  33                      .设置考场容量( 50  )
  34                      .设置科目费用(Money.of( 100  ))
  35                       .添加科目(示例.科目.AutoCAD)
  36                       .添加科目(示例.科目.Windows2000)
  37                       .添加科目(示例.科目.WindowsExcel)
  38                       .添加个人信息定义(示例.个人信息定义.姓名)
  39                       .添加个人信息定义(示例.个人信息定义.性别)
  40                       .添加个人信息定义(示例.个人信息定义.身份证)
  41                       .添加考场(示例.考场信息定义.考场01)
  42                       .添加考场(示例.考场信息定义.考场02)
  43                       .添加考场(示例.考场信息定义.考场03); ;
  44  
 45                   var  exam_service = Container. get <ExamService> ();
  46                  subject =  new   ExamDetailGet(exam_service);
  47                   ui.load_context_data(Keys.Context.ExamDate.with_value(示例.考试.省直2012年1月计算机考试));
  48               };
  49  
 50           private  Because of =
 51              () =>
 52               {
  53                   subject.process(ui);
  54                  result = ui.get_model<ExamDetailDTO> (Views.DisplayExamDetail);
  55               };
  56  
 57           private  It 应该显示考试科目列表 =
 58              () => result.Subjects.Select(s=> s.Code)
  59                         .ShouldContainOnly(示例.科目.AutoCAD.Code, 示例.科目.Windows2000.Code, 示例.科目.WindowsExcel.Code);
  60  
 61           private  It 应该显示考试开始日期 =
 62              () => result.BeginDate.ShouldEqual(Date.Of( 2012 ,  1 ,  1  ));
  63           private  It 应该显示考试结束日期 =
 64              () => result.EndDate.ShouldEqual(Date.Of( 2012 ,  2 ,  1  ));
  65  
 66           private  It 应该显示是否电子化考试 =
 67              () =>  result.IsElectronicExam.ShouldBeTrue();
  68           private  It 应该显示是考试考场容量 =
 69              () => result.ExaminationRoomCapacity.ShouldEqual( 50  );
  70  
 71           private  It 应该显示是否考试报名需要审核 =
 72              () =>  result.NeedInspection.ShouldBeTrue();
  73           private  It 应该显示考试默认科目费用 =
 74              () => result.DefaultCharge.ShouldEqual(Money.of( 100  ));
  75  
 76           private  It 应该显示报考人员信息项目 =
 77              () =>  result.PersonalInfoDefs.ShouldContainOnly(示例.个人信息定义.姓名, 示例.个人信息定义.身份证, 示例.个人信息定义.性别);
  78  
 79           private  It 应该显示考试相关考场信息 =
 80              () =>  result.Scenes.ShouldContainOnly(示例.考场信息定义.考场01, 示例.考场信息定义.考场02, 示例.考场信息定义.考场03);
  81  
 82           private   static   ExamDetailGet subject;
  83           private   static   ExamDetailDTO result;
  84       }
  85  }

从优秀到卓越  
皓月碧空,漫野如洗,行往卓越的路上 

 

标签:  Fluent Interface ,  流畅型接口 ,  代码可读性

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于C#代码的详细内容...

  阅读:33次