際際滷

際際滷Share a Scribd company logo
TOWARDS A BETTER DEVELOPMENT WORKFLOW
Eric Andrew Lewis

Lead Developer at
Small-time core contributor
Brooklyn-based, greater Philly-native
WHAT I TALK ABOUT WHEN I TALK
    ABOUT DEVELOPMENT


Code creation, not design. Creation of adam?
WORKFLOW IS PARAMOUNT
WORKFLOW IS A DIALOG


A collection of tricks, accumulated piecemeal.
       Small improvements over time.
   Workflow is a dialog with your peers.
LOCAL DEVELOPMENT ( __ AMP )
YOUR CODE EDITOR
BASIC CODE EDITORS
IDEs
and pseudo-IDEs




                            *	
 油
                    *	
 油
                  vim
CONNECTING WITH YOUR CODE
          BASE


   Easy access to WordPress core
  WordPress core function suggestion
DIAGRAM MODELING OF CODE



  Plan out your code before you write.
DIAGRAM MODELING OF CODE
DIAGRAM MODELING OF CODE,
        EXAMPLE

                      User sends message

     Browser                                     Server

                                   WP AJAX
                                    handler
    User hits enter                function
     in textarea
                                                            Recent
                                                          Messages File
                                  Sanitize and
                                 save message
     AJAX POST                                            All messages
       request                                                 File
LINTING
Fatal Error: Call to unde鍖ned function get_psots() in index.php on line 34
Mad development
LINTING



Preprocess your code for syntax errors from
               your editor.
SNIFFING
Scan code for violations of a coding standard from your
                         editor.

Coding Standard Example:
≒ One space after an if statement
≒ Indentation rules
≒ Require specific syntax for commenting
SNIFFING
Scan code for violations of a coding standard.

if(!$sniff){
$your_code="ugly"; }

if ( $sniff ) {
     $your_code = 'elegant';
}
	
 油
CODE FIXER


Fix coding standards violations from your editor.
                  Kinda lame.
XDEBUG
         PHP extension




Heavy artillery for debugging
XDEBUG
                 PHP extension




Code profiling (code
 efficiency testing)
XDEBUG
     PHP extension




Stack traces on errors
XDEBUG
     PHP extension




Breakpoint Analysis
VERSION CONTROL



SVN, GIT, Hosted Solutions
Q&A

More Related Content

What's hot (10)

Building a mobile application for dot netnuke
Building a mobile application for dot netnukeBuilding a mobile application for dot netnuke
Building a mobile application for dot netnuke
brchapman
DNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With XamarinDNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With Xamarin
Mark Allan
Extend sdk
Extend sdkExtend sdk
Extend sdk
Harsha Nagaraj
Cincom Smalltalk 2017 Roadmap
Cincom Smalltalk 2017 RoadmapCincom Smalltalk 2017 Roadmap
Cincom Smalltalk 2017 Roadmap
ESUG
intoduction to java
intoduction to javaintoduction to java
intoduction to java
SIVASHANKARIRAJAN
Ja coco ignite
Ja coco igniteJa coco ignite
Ja coco ignite
Aleksandr Zhuikov
Alfresco tech talk live mobile sdks
Alfresco tech talk live mobile sdksAlfresco tech talk live mobile sdks
Alfresco tech talk live mobile sdks
Alfresco Software
Using the latest Java Persistence API 2 Features - Tech Days 2010 India
Using the latest Java Persistence API 2 Features - Tech Days 2010 IndiaUsing the latest Java Persistence API 2 Features - Tech Days 2010 India
Using the latest Java Persistence API 2 Features - Tech Days 2010 India
Arun Gupta
Introduction to Core Java Programming
Introduction to Core Java ProgrammingIntroduction to Core Java Programming
Introduction to Core Java Programming
Collaboration Technologies
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
Dmytro Mindra
Building a mobile application for dot netnuke
Building a mobile application for dot netnukeBuilding a mobile application for dot netnuke
Building a mobile application for dot netnuke
brchapman
DNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With XamarinDNN Connect - Mobile Development With Xamarin
DNN Connect - Mobile Development With Xamarin
Mark Allan
Cincom Smalltalk 2017 Roadmap
Cincom Smalltalk 2017 RoadmapCincom Smalltalk 2017 Roadmap
Cincom Smalltalk 2017 Roadmap
ESUG
Alfresco tech talk live mobile sdks
Alfresco tech talk live mobile sdksAlfresco tech talk live mobile sdks
Alfresco tech talk live mobile sdks
Alfresco Software
Using the latest Java Persistence API 2 Features - Tech Days 2010 India
Using the latest Java Persistence API 2 Features - Tech Days 2010 IndiaUsing the latest Java Persistence API 2 Features - Tech Days 2010 India
Using the latest Java Persistence API 2 Features - Tech Days 2010 India
Arun Gupta
NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET NetWork - 15.10.2011 - Applied code generation in .NET
NetWork - 15.10.2011 - Applied code generation in .NET
Dmytro Mindra

Viewers also liked (8)

Emoji mosaic: How a Quadtree Works
Emoji mosaic: How a Quadtree WorksEmoji mosaic: How a Quadtree Works
Emoji mosaic: How a Quadtree Works
Eric Lewis
Making Tools for Tracing Patterns in Software
Making Tools for Tracing Patterns in SoftwareMaking Tools for Tracing Patterns in Software
Making Tools for Tracing Patterns in Software
Eric Lewis
Rheumatic fever
Rheumatic feverRheumatic fever
Rheumatic fever
Mohammed Alsheikh
Antibiotic choices
Antibiotic choicesAntibiotic choices
Antibiotic choices
Mohammed Alsheikh
Osteoporosis
OsteoporosisOsteoporosis
Osteoporosis
Mohammed Alsheikh
Acute coronary syndrome
Acute coronary syndromeAcute coronary syndrome
Acute coronary syndrome
Mohammed Alsheikh
Questionnaire on training and development
Questionnaire on training and developmentQuestionnaire on training and development
Questionnaire on training and development
Susmitha Chowdary
Emoji mosaic: How a Quadtree Works
Emoji mosaic: How a Quadtree WorksEmoji mosaic: How a Quadtree Works
Emoji mosaic: How a Quadtree Works
Eric Lewis
Making Tools for Tracing Patterns in Software
Making Tools for Tracing Patterns in SoftwareMaking Tools for Tracing Patterns in Software
Making Tools for Tracing Patterns in Software
Eric Lewis
Questionnaire on training and development
Questionnaire on training and developmentQuestionnaire on training and development
Questionnaire on training and development
Susmitha Chowdary

Similar to Mad development (20)

Class 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurshipClass 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurship
allanchao
Java compilation
Java compilationJava compilation
Java compilation
Mike Kucera
Whats New and Hot in .NET 4.0
Whats New and Hot in .NET 4.0Whats New and Hot in .NET 4.0
Whats New and Hot in .NET 4.0
Jess Chadwick
DPC2007 CodeGear, Delphi For PHP (Pawel Glowacki)
DPC2007 CodeGear, Delphi For PHP (Pawel Glowacki)DPC2007 CodeGear, Delphi For PHP (Pawel Glowacki)
DPC2007 CodeGear, Delphi For PHP (Pawel Glowacki)
dpc
Introduction - DotNet 4.0 Intro by Mohan
Introduction - DotNet 4.0 Intro by MohanIntroduction - DotNet 4.0 Intro by Mohan
Introduction - DotNet 4.0 Intro by Mohan
Mohan Arumugam
願瑳願瑳
願瑳願瑳願瑳願瑳
願瑳願瑳
misty915
Everything PHP Developers Need To Be Productive
Everything PHP Developers Need To Be ProductiveEverything PHP Developers Need To Be Productive
Everything PHP Developers Need To Be Productive
Michael Findling
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
ddrschiw
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless Cloud
Amazon Web Services
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger Hunt
Ashley Roach
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
Sung Kim
How to double .net code value
How to double .net code valueHow to double .net code value
How to double .net code value
javOnet
SAP hands on lab_en
SAP hands on lab_enSAP hands on lab_en
SAP hands on lab_en
Positive Hack Days
Development workflow
Development workflowDevelopment workflow
Development workflow
Sigsiu.NET
Babel.pptx
Babel.pptxBabel.pptx
Babel.pptx
Parham Abolghasemi
API workshop by AWS and 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale
3scale
Overview Of .Net 4.0 Sanjay Vyas
Overview Of .Net 4.0   Sanjay VyasOverview Of .Net 4.0   Sanjay Vyas
Overview Of .Net 4.0 Sanjay Vyas
rsnarayanan
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
Tom Johnson
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Amazon Web Services
Jcon 2017 How to use Swagger to develop REST applications
Jcon 2017 How to use Swagger to develop REST applicationsJcon 2017 How to use Swagger to develop REST applications
Jcon 2017 How to use Swagger to develop REST applications
johannes_fiala
Class 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurshipClass 6: Introduction to web technology entrepreneurship
Class 6: Introduction to web technology entrepreneurship
allanchao
Java compilation
Java compilationJava compilation
Java compilation
Mike Kucera
Whats New and Hot in .NET 4.0
Whats New and Hot in .NET 4.0Whats New and Hot in .NET 4.0
Whats New and Hot in .NET 4.0
Jess Chadwick
DPC2007 CodeGear, Delphi For PHP (Pawel Glowacki)
DPC2007 CodeGear, Delphi For PHP (Pawel Glowacki)DPC2007 CodeGear, Delphi For PHP (Pawel Glowacki)
DPC2007 CodeGear, Delphi For PHP (Pawel Glowacki)
dpc
Introduction - DotNet 4.0 Intro by Mohan
Introduction - DotNet 4.0 Intro by MohanIntroduction - DotNet 4.0 Intro by Mohan
Introduction - DotNet 4.0 Intro by Mohan
Mohan Arumugam
願瑳願瑳
願瑳願瑳願瑳願瑳
願瑳願瑳
misty915
Everything PHP Developers Need To Be Productive
Everything PHP Developers Need To Be ProductiveEverything PHP Developers Need To Be Productive
Everything PHP Developers Need To Be Productive
Michael Findling
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor EditionAd102 - Extreme Makeover -- LotusScript and Java Editor Edition
Ad102 - Extreme Makeover -- LotusScript and Java Editor Edition
ddrschiw
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless Cloud
Amazon Web Services
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger Hunt
Ashley Roach
Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)Deep API Learning (FSE 2016)
Deep API Learning (FSE 2016)
Sung Kim
How to double .net code value
How to double .net code valueHow to double .net code value
How to double .net code value
javOnet
Development workflow
Development workflowDevelopment workflow
Development workflow
Sigsiu.NET
API workshop by AWS and 3scale
API workshop by AWS and 3scaleAPI workshop by AWS and 3scale
API workshop by AWS and 3scale
3scale
Overview Of .Net 4.0 Sanjay Vyas
Overview Of .Net 4.0   Sanjay VyasOverview Of .Net 4.0   Sanjay Vyas
Overview Of .Net 4.0 Sanjay Vyas
rsnarayanan
API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)API workshop: Introduction to APIs (TC Camp)
API workshop: Introduction to APIs (TC Camp)
Tom Johnson
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Amazon Web Services
Jcon 2017 How to use Swagger to develop REST applications
Jcon 2017 How to use Swagger to develop REST applicationsJcon 2017 How to use Swagger to develop REST applications
Jcon 2017 How to use Swagger to develop REST applications
johannes_fiala

Mad development