Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Angular js best practice
Search
Matteo
October 20, 2015
Technology
2
69
Angular js best practice
Slide from the talk: "Angular js best practice - for Enterprise development and distributed Teams"
Matteo
October 20, 2015
Tweet
Share
Other Decks in Technology
See All in Technology
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
1.5k
依存関係があるコンポーネントは Barrel ファイルでまとめよう
azukiazusa1
3
530
[2025-02-07]生成AIで変える問い合わせの未来 〜チームグローバル化の香りを添えて〜
tosite
1
290
これからSREになる人と、これからもSREをやっていく人へ
masayoshi
6
4.1k
AWSでRAGを実現する上で感じた3つの大事なこと
ymae
3
1k
APIファーストで実現する運用性の高い IoT プラットフォーム: SORACOMのアプローチ
soracom
PRO
0
240
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
110
20250208_OpenAIDeepResearchがやばいという話
doradora09
PRO
0
170
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
0
120
Ask! NIKKEI RAG検索技術の深層
hotchpotch
13
2.8k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
410
7日間でハッキングをはじめる本をはじめてみませんか?_ITエンジニア本大賞2025
nomizone
2
1.4k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
Embracing the Ebb and Flow
colly
84
4.6k
Designing Experiences People Love
moore
139
23k
YesSQL, Process and Tooling at Scale
rocio
171
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Bash Introduction
62gerente
610
210k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Making Projects Easy
brettharned
116
6k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
AngularJs Best Practice for Enterprise development and distributed Teams #angularconf15
Matteo Scandolo FE Developer Team Leader Code Quality and Maintainability
@_teone
Enterprise? for Enterprise development … big complex fluid teams multiple
developers system integrations
Distributed? … distributed Teams communication delays
10 rules to improve your Angular project #angularconf15
#1 Planning - Constraints - Technical Choices - Application Architecture
- Modules - Shared Method - Dependencies - Guidelines - Tooling
Immagine dello schema di un progetto
Npm Scripts
#2 Setup README.md - Dev Environment - Deploy - Tests
- Styleguide* - Environment Configurations* - Documentation* - Contributors*
#3 Styleguide Force devs to write similar code - Js
styleguide - Air Bnb - Angular Styleguide - Jhon Papa with a styleguide with no styleguide Dev Speed
ES Lint Pluggable linting utility - Configurable (Json, Yml) -
Pluggable (as npm packages) - Extendable - custom rules - yeoman generator
ES Lint
ES Lint
Force
#4 Tests Why are they so important? - Prevent regressions
- Reduce Bugs - Code enhancement - Document features
Karma + Jasmine Karma - Test Runner Jasmine - Assetion
Library PhantomJs - Headless browser
The Old Way...
The Clean Way
#5 Documentation Not talking about high-level documentation Technical Docs -
List all available methods - Teach how to use them - Specify parameter type - Provide Examples - Can do more?
REST API Build a representation of your restfull API -
Interactive documentation - Client SDK generation
REST API
REST API
REST API
REST API Can generate ngResouces automatically! - signalfx/swagger-angular-client - swagger-api/swagger-codegen
NG DOC ngDoc - Extend jsDoc - Browsable Documentation -
Describe the app API - Provide usage examples
NG DOC What can we describe: - Docs template (@ngdoc)
- Name - Belongings (@methodOf) - Description - Params - Return - Angular Specific Attribute - @restrict
NG DOC
PARAMETER TYPES...
#6 Code Quality Automate Code Quality Check - Dependencies Status
- Duplicated Code - Complex Function - Error Handling - Lint Status - Test Coverage
BITHOUND.IO Software insight as a service Free for OS project
BITHOUND.IO
BITHOUND.IO
KARMA COVERAGE Karma Coverage Plugin - Easy to set up
- Generate different format
Usage
#7 Continuous Integration Why? - Automate the process - Error
reduction - Generate reports - 1 click (or no-click deploy)
Tools Travis CI Jenkins CI Strider CD
Tools
#8 Development Workflow Git Flow - Stable branch with released
version - Stable branch with new features - Shared Standard
How dows it work... GIT FLOW: https://www.atlassian.com/git/tutorials/comparing- workflows/gitflow-workflow Master Develop
Feature Branch Release Branch HotFix Branch
Tools...
#9 Team Communication SLACK - Issues - Snippets - Usefull
Link - Dependencies Docs - Real Time Notification
Tools...
#10 Ask yourself.. If I leave tomorrow… … and someone
have to work on this project … Will I like to be that guy?
Thanks! @_teone #angularconf15