【问题标题】:AngularJS Style Guides - Todd Motto vs John Papa vs Minko GechevAngularJS 风格指南 - Todd Motto vs John Papa vs Minko Gechev
【发布时间】:2014-10-23 17:57:07
【问题描述】:

我对 Angular 还是很陌生,我想从一开始就学习好的做法。我遇到了三个 Angular 风格指南,它们看起来都很棒。我想知道哪一个最适合我采用,但我无法对此做出判断,因为我对大型 Angular 应用程序的经验很少。

那么哪一个是最好的?或者即使不是更好,那么在开发过程中更直观/导致更少的问题?也许你们中的一些人对所有这些都有经验并且可以指出它们的优缺点?

链接:

【问题讨论】:

  • 我认为您应该阅读所有这些并确定哪种方法更适合您的项目。这是因为使用角度和样式指南的方法与专家一样多。
  • 这些是风格指南,没有特别针对其中的冷硬论据。它们在很多有意义的事情上重叠,其余的是偏好。一致性是最重要的——选择一个,或者自己做一个,然后坚持下去。
  • 我使用'Yeoman angular generator' (github.com/yeoman/generator-angular) 作为我的应用程序脚手架,它生成的结构适用于大多数应用程序。

标签: javascript angularjs coding-style


【解决方案1】:

我已经阅读了 Motto 和 Papa 的指南,并且 90% 的时间他们都同意相同的指南和用法。 Motto's 简短易懂,Papa's 很长,但几乎涵盖了所有内容。我认为您最好从其中任何一个开始(最好是较短的),当您遇到新事物时(例如:您可能一开始没有实施指令,但在某个时间之后)然后去阅读指令部分。不要试图从上到下阅读所有内容,因为它可能会使您感到困惑。从最需要的开始着手编写应用程序。

  • 文件结构 (Minko) - 应用程序结构 (Papa)
  • IIFE(爸爸)
  • 模块(座右铭,爸爸) - 模块化(爸爸)
  • 控制器声明和最佳实践(Motto, Papa)
  • 服务声明和最佳实践(Motto, Papa)
  • cmets(座右铭,爸爸)
  • 命名(爸爸)

这些应该足以让您开始并使用 Angular 完成大部分开发工作,然后当您进入 Angular 的新领域时——比如说,如果您打算构建指令——然后去阅读关于这些的那部分指南。否则你只会花几天时间阅读和思考指南,而不做实际工作。除非您确实使用它,否则您将看不到自己实施某事的最佳方式以及最佳实践背后的原因。

【讨论】:

    【解决方案2】:

    在 2016 年 7 月,只有一份样式指南是真正最新的,以应对使我们的 AngularJS 应用程序为 Angular 2 做好准备所面临的挑战。这就是 Todd Motto 的样式指南。 6 月份进行了大量返工(只需检查提交活动:https://github.com/toddmotto/angular-styleguide/graphs/commit-activity

    它拥有您对 2016 年风格指南所期望的一切,包括:

    • ES2015
    • AngularJS 1.5.x
    • module.component()
    • 单向数据流
    • 有状态/无状态组件
    • 等等……

    另外,请查看这个很棒的种子项目,它几乎遵循 Todd Motto 指南中的每一条规则:

    https://github.com/AngularClass/NG6-starter

    【讨论】:

      【解决方案3】:

      每个人都应该有长远的眼光。换句话说,从小处着手,但要牢记应用的发展方向。

      据我所知,John papa 提供了最好的文件结构,而且许多有用的框架(如 YEOMAN)都遵循 john papa 类的应用程序结构。

      John papa 的主要特点如下:

      1. 每个文件一个组件有助于更轻松的单元测试和模拟。

      2. 每个文件一个组件使阅读、维护和避免与源代码控制中的团队发生冲突变得容易得多。

      3. 每个文件一个组件可避免在文件中组合组件时经常出现的隐藏错误,这些错误可能会共享变量、创建不需要的闭包或与依赖项进行不需要的耦合。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-03
        • 1970-01-01
        • 2017-11-26
        相关资源
        最近更新 更多