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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Matteo
October 20, 2015
Technology
2
71
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
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.6k
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
210
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
340
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
270
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
190
(金融庁共催)第4回金融データ活用チャレンジ勉強会資料
takumimukaiyama
0
130
こんなところでも(地味に)活躍するImage Modeさんを知ってるかい?- Image Mode for OpenShift -
tsukaman
0
100
2人で作ったAIダッシュボードが、開発組織の次の一手を照らした話― Cursor × SpecKit × 可視化の実践 ― Qiita AI Summit
noalisaai
1
370
IaaS/SaaS管理における SREの実践 - SRE Kaigi 2026
bbqallstars
4
1.7k
ブロックテーマでサイトをリニューアルした話 / 2026-01-31 Kansai WordPress Meetup
torounit
0
450
Meshy Proプラン課金した
henjin0
0
250
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
97
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
What does AI have to do with Human Rights?
axbom
PRO
0
2k
Building the Perfect Custom Keyboard
takai
2
680
How to Talk to Developers About Accessibility
jct
2
130
A better future with KSS
kneath
240
18k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
72
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
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