clean code is not the goal - working software is

43
CLEAN CODE IS NOT THE GOAL WORKING SOFTWARE IS Volker Dusch / @__edorian

Upload: edorian

Post on 06-Dec-2014

1.422 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Clean code is not the goal - working software is

CLEAN CODE IS NOT THEGOAL

WORKING SOFTWARE ISVolker Dusch / @__edorian

Page 2: Clean code is not the goal - working software is

ABOUT MEPHP since 10 yearsCICleanCodeDevOpsTDDShipping

Page 3: Clean code is not the goal - working software is
Page 4: Clean code is not the goal - working software is

GET IN TOUCH

stackoverflow: Twitter: @__edorianXing / G+: Volker DuschIRC: edorianMail: [email protected]

Page 5: Clean code is not the goal - working software is

CLEAN CODE IN 10 OR LESSBUZZWORDS

ReadableStructuredTestedPrettyDocumentedWell designedSelf explanatorySOLIDConciseWell architected

Page 6: Clean code is not the goal - working software is

SO WHAT ABOUT CLEANCODE?

You maybe came here to hear about clean code

Page 7: Clean code is not the goal - working software is

I'M SORRY

Page 8: Clean code is not the goal - working software is

- Nitsche's Webmaster

Page 9: Clean code is not the goal - working software is

AND WE KILLED ITWhen people say "clean" do you think of:

Wordpress?Drupal?Typo?phpBB?Magento?

Page 10: Clean code is not the goal - working software is

WHY NOT?Estimated value generated by Drupal in 2012 is about 7gazilion Dollar.

Page 11: Clean code is not the goal - working software is

CLEAN IS MORE THAN JUST PRETTY

These projects don't generate that value by being clean, wellstructured or easily maintainable but they work, you can get

somewhere quickly, validate ideas, deliver.

Page 12: Clean code is not the goal - working software is

CLEAN CODE IS NOT THE GOAL

Page 13: Clean code is not the goal - working software is

"SHIPPING IT" IS!

Page 14: Clean code is not the goal - working software is

SO CLEAN CODE IS WORTHLESS?Everything you do should help you to continously deliver tangable

value!

Page 15: Clean code is not the goal - working software is

AND IF IT'S NOT HELPING?Communicate it as waste and get rid of it

Page 16: Clean code is not the goal - working software is

CLEAN THINGSCodeInfrastructureWorkflows (Processes)CommunicationLeadership

Page 17: Clean code is not the goal - working software is

CLEAN CODE

Page 18: Clean code is not the goal - working software is

WHAT IS "CODE"?Code is something that software engineers produce

Page 19: Clean code is not the goal - working software is

SO WHAT DO ENGINEERS PRODUCE?DESIGN DOCUMENTS!

Architects produce blue prints.Houses are build from them.Electrical engineers produce circut board diagramms.Boards are build with those designs imprinted.

Page 20: Clean code is not the goal - working software is

WHAT DO WE PRODUCE?We produce source code.Software is produced using that blue print.

Page 21: Clean code is not the goal - working software is

SOURCE CODE IS NOT THE PRODUCTWe don't deliver source codeSource code is not what we get paid forIt's the final design document

Page 22: Clean code is not the goal - working software is

WE DELIVER WORKING SOFTWARECompile the sourceAdd the assertsPatches and migration pathesDeployment

Page 23: Clean code is not the goal - working software is

SOFTWARE IS SPECIALBuilding is really cheapDesigning is really expensive

Page 24: Clean code is not the goal - working software is

MAINTAINING SOFTWARE IS ALSO SPECIALSince building is cheap you can change stuff easily

Page 25: Clean code is not the goal - working software is

DO YOU NEED YOUR DESIGNDOCUMENTS TO CHANGE?

Page 26: Clean code is not the goal - working software is
Page 27: Clean code is not the goal - working software is

"BUILD THE RIGHT IT"And then build "it" right

Page 28: Clean code is not the goal - working software is

CLEAN ARCHITECTURE

http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html

STAY FOR THE NEXT TALK!

Page 29: Clean code is not the goal - working software is

SO CLEAN CODE DOESN'T MATTER?You said if it's not helping me I can get rid of it!

Page 30: Clean code is not the goal - working software is

SHU HA RILearn, detach, transend http://pragprog.com/magazines/2010-

11/shu-ha-ri

No understanding: Copy the masterSome understanding: Try variationsMastery: Get stuff done without hitting walls down the road

Page 31: Clean code is not the goal - working software is

CLEAN INFRASTRUCTUREWith great hardware comes great responsibilty

Page 32: Clean code is not the goal - working software is
Page 33: Clean code is not the goal - working software is

HARDWARESome people somewhere still care about Hardware.

Thank them for running the internet when you meet them some time.

Page 34: Clean code is not the goal - working software is

VIRTUALISATIONSomething to throw new boxes at you

SysadminsThe Cloud(s)Automated cloud provisioningPrivate clouds

Getting the hardware is not complicated anymore.

Page 35: Clean code is not the goal - working software is

INFRASTRUCTURE BECAME CODECloud APIsInstalling Services

PuppetChefYour own solutionWhatever works!

Automated scalingAutomated (data) recoveryEven DEV Boxes!

No more "change this" mails!Work faster on multiple Projects!

Page 36: Clean code is not the goal - working software is

CODE IS IMPORTANTSo put it in SCM!

Page 37: Clean code is not the goal - working software is

SERIOUSLY!PUT IT IN SCM!

Page 38: Clean code is not the goal - working software is

NO MORE SSHThere is no SSH!

Only Puppet, mcollective and graylog2

Page 39: Clean code is not the goal - working software is

SHIPPINGTesting

Automated tests against the code baseAutomated tests against a stage serverManual QA

Packaging and DistributingDeploy from GITBuild .tar.gz / .deb / .rpm PackagesBitTorrentWhatever works WELL for you

Page 40: Clean code is not the goal - working software is

CLEAN WORKFLOWS

Page 41: Clean code is not the goal - working software is

CLEAN COMMUNICATION

Page 42: Clean code is not the goal - working software is

THANK YOUPLEASE PROVIDE FEEDBACK:

Froscon:

https://frab.froscon.org/froscon2012/public/events/969/feedback/new

Joind.in

http://joind.in/7013

Page 43: Clean code is not the goal - working software is