DUSTY
BURWELL
@dustyburwell
I envy you I’ve never been able to meet me
Slide 3
Slide 3 text
VERSION NUMBERS OF THE PAST
Slide 4
Slide 4 text
1.0.0.0
Slide 5
Slide 5 text
1
.0
.0
.0
Slide 6
Slide 6 text
MAJOR
BIG FEATURES
WHEN MARKETING SAYS
.REVISION
.HOT FIXES
.BUILD
.EVERY BUILD
.MINOR
.SMALL FEATURES
.LITERALLY ALWAYS ZERO
.EVERY BUILD
.WHEN THE LEAD DEVELOPER SAYS
Slide 7
Slide 7 text
MARKETING
NUMBERS
Slide 8
Slide 8 text
OTHER SCHEMES
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
ENTER
SEMVER
Slide 11
Slide 11 text
MAJOR.MINOR.PATCH
Slide 12
Slide 12 text
BREAK
.FIX
.PATCH
.MINOR
MAJOR
.FEATURE
Slide 13
Slide 13 text
PATCH (FIX)
Slide 14
Slide 14 text
public class Calculator {
// Subtracts b from a
public int sub(int a, int b)
{
return b - a;
}
}
Slide 15
Slide 15 text
public class Calculator {
// Subtracts b from a
public int sub(int a, int b)
{
return a - b;
}
}
Slide 16
Slide 16 text
var sort = function () {
// bubble sort
};
module.exports = sort;
Slide 17
Slide 17 text
var sort = function () {
// QUICK SORT
};
module.exports = sort;
Slide 18
Slide 18 text
REFACTOR
Slide 19
Slide 19 text
MINOR (FEATURE)
Slide 20
Slide 20 text
public class Calculator {
public int add(int a, int b)
{
return a + b;
}
public int sub(int a, int b)
{
return a - b;
}
}
Slide 21
Slide 21 text
public class Calculator {
public int add(int a, int b)
{
return a + b;
}
public int sub(int a, int b)
{
return a - b;
}
public int div(int a, int b) // New Function!
{
return a / b;
}
}
Slide 22
Slide 22 text
public class Person {
public FirstName { get; set; }
public LastName { get; set; }
}
Slide 23
Slide 23 text
public class Person {
public FirstName { get; set; }
public MiddleName { get; set; } // New Property!
public LastName { get; set; }
}
Slide 24
Slide 24 text
var add = function(a, b) {
return a + b;
}
var sub = function(a, b) {
return a - b;
}
module.exports = {
add: add,
sub: sub
}
Slide 25
Slide 25 text
var add = function(a, b, c) {
if (!c) {
c = 0;
}
return a + b + c;
}
var sub = function(a, b) {
return a - b;
}
module.exports = {
add: add,
sub: sub
}
Slide 26
Slide 26 text
DEPRECATIONS
Slide 27
Slide 27 text
public class Calculator {
public int add(int a, int b)
{
return a + b;
}
[System.Obsolete("Just use `-`")]
public int sub(int a, int b)
{
return a - b;
}
}
Slide 28
Slide 28 text
public class Person {
public FirstName { get; set; }
[System.Obsolete("I hate my middle name")]
public MiddleName { get; set; }
public LastName { get; set; }
}
Slide 29
Slide 29 text
var add = function(a, b) {
return a + b;
}
var sub = function(a, b) {
return a - b;
}
module.exports = {
add: add,
sub: util.deprecate(sub, "Just use `-`")
}
Slide 30
Slide 30 text
var add = function(a, b, c) {
if (!c) {
Console.warn("Two addend `add` is deprecated");
c = 0;
}
return a + b + c;
}
var sub = function(a, b) {
return a - b;
}
module.exports = {
add: add,
sub: sub
}