ENHANCE YOUR
PRODUCTIVITY USING
TYPESCRIPT
Sébastien Doucet
Technical Architect at
Ubisoft Technology Group
PROJECT
- Started in fall 2015 released in fall
2016
- 6 to 12 programmer 100%
Typescript
- 90k lines of code (60k inner-
source)
- Map Tool
- Min requirement: 5k items
rendered
- Load under 10 sec
- Drawing basic shapes and POI with
LOD
- Real time editing / lock free7/3/2017 2
EN·HANCE·MENT
an increase or improvement in quality, value, or extent.
"these enhancements will improve the customer experience"
Enhance your productivity
 Write code faster / easier
 Resolve problems more efficiently
 See problems earlier
 Reduce bugs and improve stability
 Reduce the learning curve for newcomer
 Enable easy collaboration
 Maintain a high quality code base
7/3/2017 3
A PROPER STARTUP
• Get rid of Visual Studio for Visual Studio Code
• Avoid using gulp-typescript
• Immediatly start with TsLint
• Enable strictNullChecks and noImplicitAny
• Make the good choice between namespace and module
• Ban var
• Avoid any as much as possible
7/3/2017 4
WRITE CODE
• Auto-completion is good, intellisense is better
• Enable simple design patterns
• Polyfill
• Elegant way for declarative sentences
• Meta-programming ?
• Sugar synthax
7/3/2017 5
REFACTORING
Iterations
 Continuous delivery
New version
 Add majors new feature
Improvements
 Performance optimisations
 Maintenability, bug fix
Integrate code
 New library version
 Interns code
7/3/2017 6
DOCUMENTATION
7/3/2017 7
ENHANCE YOUR
PRODUCTIVITY USING
TYPESCRIPT
Sébastien Doucet
Ubisoft
7/3/2017 8
Sources: https://github.com/sebdoucet/PrezDevTeach
Slides:
https://www.slideshare.net/SbastienDoucet2/devteach-
2017
QUESTIO
NS ?

Devteach 2017

  • 1.
    ENHANCE YOUR PRODUCTIVITY USING TYPESCRIPT SébastienDoucet Technical Architect at Ubisoft Technology Group
  • 2.
    PROJECT - Started infall 2015 released in fall 2016 - 6 to 12 programmer 100% Typescript - 90k lines of code (60k inner- source) - Map Tool - Min requirement: 5k items rendered - Load under 10 sec - Drawing basic shapes and POI with LOD - Real time editing / lock free7/3/2017 2
  • 3.
    EN·HANCE·MENT an increase orimprovement in quality, value, or extent. "these enhancements will improve the customer experience" Enhance your productivity  Write code faster / easier  Resolve problems more efficiently  See problems earlier  Reduce bugs and improve stability  Reduce the learning curve for newcomer  Enable easy collaboration  Maintain a high quality code base 7/3/2017 3
  • 4.
    A PROPER STARTUP •Get rid of Visual Studio for Visual Studio Code • Avoid using gulp-typescript • Immediatly start with TsLint • Enable strictNullChecks and noImplicitAny • Make the good choice between namespace and module • Ban var • Avoid any as much as possible 7/3/2017 4
  • 5.
    WRITE CODE • Auto-completionis good, intellisense is better • Enable simple design patterns • Polyfill • Elegant way for declarative sentences • Meta-programming ? • Sugar synthax 7/3/2017 5
  • 6.
    REFACTORING Iterations  Continuous delivery Newversion  Add majors new feature Improvements  Performance optimisations  Maintenability, bug fix Integrate code  New library version  Interns code 7/3/2017 6
  • 7.
  • 8.
    ENHANCE YOUR PRODUCTIVITY USING TYPESCRIPT SébastienDoucet Ubisoft 7/3/2017 8 Sources: https://github.com/sebdoucet/PrezDevTeach Slides: https://www.slideshare.net/SbastienDoucet2/devteach- 2017 QUESTIO NS ?