Development for large-scale & scalable front-end applications.

Andrey Kucherenko
andrii.k@sbtech.com

Architecture

Tools
Process

TODO more architecture

polyglot.js

window.fetch polyfill

Platform

Development

Enzyme

jscpd

Package managment

depcheck

https://github.com/depcheck/depcheck

Auto tests

@LiveCoupon
Feature: Select/Deselect odds on Live Coupon widget
  As an User
  I want to select/deselect odds on Live Coupon widget

  Background:
    Given Live Coupon widget rendered on page

  Scenario: I want to select odd on Live Coupon widget
    Given There are events with active odds inside sport panels in Live Coupon widget
    When I select any active odd in any event inside sport panels in Live Coupon widget
    Then Odd become selected in Live Coupon widget

TDD steps

  • Navigation map

  • Test first

  • Assert first

  • Fail first

Benefits

  • Unit tests coverage

  • Increases assurance of correctness

  • More complete explorations of requirements

  • Improved code

  • Code as documentation

  • Safe refactoring

  • No extra code

Pair Programming Rules

 
  • Ping Pong
  • Silent coding
  • Evil coder
  • Baby steps
  • ...
 

We don't use Pair Programming when:

 
  • Build nonproduction code
  • Work on spikes for future stories
  • Learn new tool or technique
  • Improve existing test coverage or fix code violations
 

Pair Programming Smells

 
  • Unequal access
  • Domination
  • Unhealthy relationship
  • Every player play his game
  • Endless debate
 

Workshop