anchor.diff:  
   a(href="#toc") Back to top
   
  +a(href="#toc") 回到顶部
  +
   .l-main-section
   :marked
     ### Service Names
  +  
  +  ### 服务名字
     <a id="02-04"></a>
     #### Style 02-04
  +  
  +  #### 风格02-04
   
   .s-rule.do
     :marked
       **Do** use consistent names for all services named after their feature.
  +    
  +    **做** 为所有服务使用前后一致的命名规则，以它们的特性来命名。
   
   .s-rule.do
     :marked
       **Do** use upper camel case for services.
  +    
  +    **做** 使用大写驼峰命名法来命名服务。
   
   .s-rule.do
     :marked
       **Do** suffix services with `Service` when it is not clear what they are (e.g. when they are nouns).
  +    
  +    **做** 当不是很清楚它们是什么的时候（比如它们为名词时），添加`Service`后缀。
   
   .s-why
     :marked
       **Why?** Provides a consistent way to quickly identify and reference services.
  +    
  +    **为什么？** 提供一个前后统一的方法来快速识别和引用服务。
   
   .s-why
     :marked
       **Why?** Clear service names such as `logger` do not require a suffix.
  +    
  +    **为什么？** 清楚的服务名字比如`logger`不需要一个后缀。
   
   .s-why.s-why-last
     :marked
       **Why?** Service names such as `Credit` are nouns and require a suffix and should be named with a suffix when it is not obvious if it is a service or something else.
  +    
  +    **为什么？** 服务名字比如`Credit`是名词，需要一个后缀，当不是很明显它是一个服务还是其他东西的时候，取名时应该跟上后缀。
   
   - var top="vertical-align:top"
   table(width="100%")
  
positive.code:     **为什么？** 目录的名字和文件应该清楚的说明它们的用途。比如`app/heroes/hero-list.component.ts`包含了一个用来维护英雄列表的组件。
  
  a(href="#toc") Back to top
  a(href="#toc") 回到顶部
  
  
  
negative.code: 
  a(href="#toc") Back to top
  
  a(href="#toc") 回到顶部
  
  .l-main-section
  :marked
    ### Import Line Spacing
    ### 导入声明空行
    <a id="03-06"></a>
    #### Style 03-06
    #### 风格03-06
  
  .s-rule.do
    :marked
      **Do** leave one empty line between third party imports and imports of code we created.
      
      **做** 在第三方导入和自己创建的代码导入之间留一个空行。
  
  .s-rule.do
    :marked
      **Do** list import lines alphabetized by the module.
      
      **做** 按模块名字的字母顺排列导入行。
  
  .s-rule.do
    :marked
      **Do** list destructured imported assets alphabetically.
      
      **做** 按字母顺序排列解构导入行。
  
  .s-why
    :marked
      **Why?** The empty line makes it easy to read and locate imports.
      
      **为什么？** 空行可以让阅读和定位本地导入变得更加容易。
  
  .s-why.s-why-last
    :marked
      **Why?** Alphabetizing makes it easier to read and locate imports.
      
      **为什么？** 按字母顺序排列可以让阅读和定位本地导入更加容易。
  
  +makeExample('style-guide/ts/03-06/app/+heroes/shared/hero.service.avoid.ts', 'example', 'app/+heroes/shared/hero.service.ts')(avoid=1)
  :marked
  