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: 
  :marked
    ### Custom Prefix for Directives
    <a id="02-08"></a>
    #### Style 02-08
  
  .s-rule.do
    :marked
      **Do** use a custom prefix for the selector of our directives (for instance below we use the prefix `toh` from **T**our **o**f **H**eroes).
  
  .s-why
    :marked
      **Why?** Prevents name collisions.
  
  .s-why.s-why-last
    :marked
      **Why?** Our Directives are easily identified.
  
  +makeExample('style-guide/ts/02-08/app/shared/validate.directive.avoid.ts', 'example', 'app/shared/validate.directive.ts')(avoid=1)
  :marked
  
negative.code: 
  a(href="#toc") Back to top
  
  a(href="#toc") 回到顶部
  
  
  .l-main-section
  :marked
    ### Import Destructuring Spacing
    ### 导入声明解构空格
    <a id="03-05"></a>
    #### Style 03-05
    #### 风格03-05
  
  .s-rule.do
    :marked
      **Do** leave one whitespace character inside of the `import` statements' curly braces when destructuring.
      
      **做** 在解构是，`import`声明的大括号里面留一个空格字符。
  
  .s-why.s-why-last
    :marked
      **Why?** Whitespace makes it easier to read the imports.
      
      **为什么？** 空格让导入声明更容易阅读。
  
  +makeExample('style-guide/ts/03-05/app/+heroes/shared/hero.service.avoid.ts', 'example', 'app/+heroes/shared/hero.service.ts')(avoid=1)
  :marked
  