awesome application in 2014

40
awesome application really really really really really

Upload: codemotion

Post on 05-Jul-2015

216 views

Category:

Technology


0 download

DESCRIPTION

by Giulio De Donato - The last few years have been incredible for PHP, the community, thanks to best practices emerged from the Medieval period. The talk shows the best of the PHP Renaissance, combining concepts and approaches of different philosophies and languages in order to let you create the perfect PHP application. Take part in the Renaissance, today! Warning: - Vintage concepts as Object Oriented Design will be administered to attendees - Violent scenes against monolithic culture, will be shown during the talk - Some practices will be stolen from: SOLID princ., DDD, SOA - You will take PHP seriously.

TRANSCRIPT

Page 1: Awesome application in 2014

awesome application

really

reallyreally

really

really

Page 2: Awesome application in 2014

#codemotion @liuggio

awesome application in 2014

really

Page 3: Awesome application in 2014

I’m @liuggioa programmer<?php

awesome application #codemotion @liuggio

Page 4: Awesome application in 2014

Language design is hard …

the most famous computer scientists are also language designers.

BUT none of them ever worked on PHP

-- codinghorror

awesome application #codemotion @liuggio

Page 5: Awesome application in 2014

LANGUAGE SUCKS7.380.000 resultsJava sucks

6.030.000 resultsRuby sucks

3.400.000 Python sucks

results

awesome application #codemotion @liuggio

Page 6: Awesome application in 2014

61.526.124

PHP SUCKS

TIMESawesome application #codemotion @liuggio

Page 7: Awesome application in 2014

WHY PHP SUCKS

not real objects

big gap between the

community and the

un-polite core-team inconsistencylot-ot-underscore

stream_get_linedisk_free_space

is_objectmcal_day_of_weekset_error_handler

snmp_get_quick_printget_browser

base64_encodeimage_type_to_mime_type

msql_num_fieldsphp_unamestrip_tags

bind_textdomain_codesetcal_to_jdstr_rot13

no-underscore

readlinediskfreespaceissetjddayofweeksetlocalesnmpgetgetallheadersurlencodeimagetypesmysql_numfieldsphpversionstripslashesbindtextdomaingregoriantojdstrpos

awesome application #codemotion @liuggio

Page 8: Awesome application in 2014

LOT OF GREAT COMPANIES USES IT

WordpressFacebook

awesome application #codemotion @liuggio

Page 9: Awesome application in 2014

IS NOT THE OLD PLAIN-PHP THE ECOSYSTEM IS GREAT

GIT COMPOSER SYMFONY2

DDD/TDD/BDD PHP-FIG BEST PRACTICES

awesome application #codemotion @liuggio

Page 10: Awesome application in 2014

The best programming language will not save you to write horrible code.

awesome application #codemotion @liuggio

Page 11: Awesome application in 2014

Sufficiently talented coders

can write great applications

in terrible languages

awesome application #codemotion @liuggio

Page 12: Awesome application in 2014

f**king awesome application

really

reallyreallyreally

really

Page 13: Awesome application in 2014

@liuggio welcometothebundle.com

Page 14: Awesome application in 2014

f**king awesome application

really

reallyreallyreally

really

Page 15: Awesome application in 2014

Coding is 10% of the job

Communication and understanding

Read/Study

Coffee andrelated .

awesome application #codemotion @liuggio

Page 16: Awesome application in 2014

developer =

worker with knowledge

awesome application #codemotion @liuggio

Page 17: Awesome application in 2014

- Modular code- Version Control System (git)- Eager: conferences/books/code- Use frameworks- Contribute famous projects code - Live in the open-source ecosystem- Favourite the discussion- Study design trends (DDD \ BDD…?)- Live in a community, local user group- Test Driven Development

talented developers

awesome application #codemotion @liuggio

Page 18: Awesome application in 2014

TDD

REFACTOR PASSFAIL

awesome application #codemotion @liuggio

Page 19: Awesome application in 2014

- Modular code- Version Control System (git)- Eager: conferences/books/code- Use frameworks- Contribute famous projects code - Live in the open-source ecosystem- Favourite the discussion- Study design trends (DDD \ BDD…?)- Live in a community, local user group- Test Driven Development

TalentedNot talented

Page 20: Awesome application in 2014

Innovation fuel growth

Page 21: Awesome application in 2014

TALENTED CODERS

Have a passion driven mindset&&

Satisfy business with the best technology

=

awesome application #codemotion @liuggio

Page 22: Awesome application in 2014

awesome application #codemotion @liuggio

Page 23: Awesome application in 2014

YOU

BLACK HOLE

Page 24: Awesome application in 2014

awesome application #codemotion @liuggio

Page 25: Awesome application in 2014

$$ function

awesome application #codemotion @liuggio

Page 26: Awesome application in 2014

Application

presentation

awesome application #codemotion @liuggio

Domain model

RESTadapter

WEB

SCRIPT

ADAPTER-y

Use Case A

Use Case B

Page 27: Awesome application in 2014

interfaces

awesome application #codemotion @liuggio

Page 28: Awesome application in 2014

awesome application #codemotion @liuggio

Application

presentation

Domain model

RESTadapter

WEB

SCRIPT

ADAPTER-y

Use Case A

Use Case B

Page 29: Awesome application in 2014

awesome application #codemotion @liuggio

Page 30: Awesome application in 2014

Describe the

behaviours for each

`verb` and ‘noun’

Create the class

and the public

methods

Write a business

example

Explode the example in

lines

Given/When/Then

Discover and visualize

`verbs`, `nouns` and

behaviours

awesome application #codemotion @liuggio

a new cycle1

2

34 5

Page 31: Awesome application in 2014

FAIL

Page 32: Awesome application in 2014

FAIL

Page 33: Awesome application in 2014

Describe the

behaviours for each

`verb` and ‘noun’4

Page 34: Awesome application in 2014

Create the class

and the public

methods5

Page 35: Awesome application in 2014

PASS

awesome application #codemotion @liuggio

Page 36: Awesome application in 2014

Application

presentation

Domain model

WEB

Class EmitBill

WWW

Page 37: Awesome application in 2014

The best programming language will not save you to write horrible code.

awesome application #codemotion @liuggio

Page 38: Awesome application in 2014

BUSINESS

awesome application #codemotion @liuggio

Page 39: Awesome application in 2014

be a passionate developer

awesome application #codemotion @liuggio

Page 40: Awesome application in 2014

Questions?ps: see the references I didn’t write any books (yet).

awesome application #codemotion @liuggio