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
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
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
4.9k
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
1
120
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
1
320
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
560
Agile Leadership Summit Keynote 2026
m_seki
1
510
AWS Network Firewall Proxyを触ってみた
nagisa53
0
150
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
0
330
Webhook best practices for rock solid and resilient deployments
glaforge
1
270
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
130
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
42k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
生成AI時代にこそ求められるSRE / SRE for Gen AI era
ymotongpoo
5
2.8k
Featured
See All Featured
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
140
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
Agile that works and the tools we love
rasmusluckow
331
21k
Un-Boring Meetings
codingconduct
0
200
Music & Morning Musume
bryan
47
7.1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
310
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
110
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
680
A Modern Web Designer's Workflow
chriscoyier
698
190k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
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