SlideShare a Scribd company logo
1 of 16
Excellent items from you, man. I have take note
your stuff prior to and you are just extremely
magnificent. I really like what you've acquired
here, certainly like what you are stating and the
best way in which you say it. You are making it
entertaining and you still take care of to keep it
wise. I can't wait to learn far more from you.
- A flattering spam bot
7 Habits of Highly Effective7 Habits of Highly Effective
WordPress DevelopersWordPress Developers
Micah Wood - @wpscholar - http://micahwood.me
Habit 1: Constantly LearningHabit 1: Constantly Learning
Learn – to gain or acquire knowledge of
or skill in (something) by:
1) study,
2) experience, or
3) being taught
Make a Plan
● Determine your specialty
● Identify your shortcomings
● Consider your options
● Prioritize your approach
● Schedule your studies
Habit 2: Being ConsistentHabit 2: Being Consistent
The average developer spends 90%
of their time reading code. If your
code isn't readable, you are just
wasting your own time.
Writing Readable CodeWriting Readable Code
● WordPress Coding Standards
● Naming
● Code Organization
● Single Responsibility Principle
Habit 3: Using Debugging ToolsHabit 3: Using Debugging Tools
“Everyone knows that debugging is
twice as hard as writing a program in
the first place. So if you are as clever
as you can be when you write it, how
will you ever debug it?”
– Brian Kernighan
Debugging in PHPDebugging in PHP
● var_dump();
● WP_DEBUG – enables reporting of all errors
● WP_DEBUG_DISPLAY – display errors on
screen
● WP_DEBUG_LOG – log errors to file
● Xdebug
Debugging in JavaScriptDebugging in JavaScript
● console.log();
● SCRIPT_DEBUG
● JS Hint
● Chrome Developer Tools, Firebug
● JetBrains Chrome Extension
(for PHPStorm)
Habit 4: Creating and Running TestsHabit 4: Creating and Running Tests
A programmer’s wife tells him: “Go to
the store. Pick up a loaf of bread. If
they have eggs, get a dozen.” The
programmer returns with 12 loaves of
bread.
Types of TestingTypes of Testing
● Unit Testing
● Integration Testing
● Regression Testing
● Usability Testing
Habit 5: Reusing CodeHabit 5: Reusing Code
● Reusability Principles
– Simple
– Modular
– Extensible
● Documentation
● Referencing vs Forking
Habit 6: Automating TasksHabit 6: Automating Tasks
“The first rule of any technology used in
a business is that automation applied to
an efficient operation will magnify the
efficiency. The second is that
automation applied to an inefficient
operation will magnify the inefficiency.”
– Bill Gates
Automation ToolsAutomation Tools
● Vagrant
● WP-CLI
● Grunt / Gulp
● GitHub / BitBucket Webhooks
● Ansible
● Capistrano
● Third Party: Deploy HQ, Beanstalk
Habit 7: CollaboratingHabit 7: Collaborating
● Ask questions
● Share your code
● Contribute to a project
● Pair programming
Any Questions?Any Questions?

More Related Content

More from Micah Wood

Using Chrome Dev Tools
Using Chrome Dev ToolsUsing Chrome Dev Tools
Using Chrome Dev ToolsMicah Wood
 
Becoming a WordPress Coding Master
Becoming a WordPress Coding MasterBecoming a WordPress Coding Master
Becoming a WordPress Coding MasterMicah Wood
 
Debugging in PHP
Debugging in PHPDebugging in PHP
Debugging in PHPMicah Wood
 
WordPress Hooks
WordPress HooksWordPress Hooks
WordPress HooksMicah Wood
 
The Modern JavaScript Developers Toolbox
The Modern JavaScript Developers ToolboxThe Modern JavaScript Developers Toolbox
The Modern JavaScript Developers ToolboxMicah Wood
 
An Introduction to PHP Classes
An Introduction to PHP ClassesAn Introduction to PHP Classes
An Introduction to PHP ClassesMicah Wood
 
Backbone + React
Backbone + ReactBackbone + React
Backbone + ReactMicah Wood
 
Testing Made Easy
Testing Made EasyTesting Made Easy
Testing Made EasyMicah Wood
 
Using Composer with WordPress - 2.0
Using Composer with WordPress - 2.0Using Composer with WordPress - 2.0
Using Composer with WordPress - 2.0Micah Wood
 
Using composer with WordPress
Using composer with WordPressUsing composer with WordPress
Using composer with WordPressMicah Wood
 
Getting Started with Vagrant
Getting Started with VagrantGetting Started with Vagrant
Getting Started with VagrantMicah Wood
 

More from Micah Wood (11)

Using Chrome Dev Tools
Using Chrome Dev ToolsUsing Chrome Dev Tools
Using Chrome Dev Tools
 
Becoming a WordPress Coding Master
Becoming a WordPress Coding MasterBecoming a WordPress Coding Master
Becoming a WordPress Coding Master
 
Debugging in PHP
Debugging in PHPDebugging in PHP
Debugging in PHP
 
WordPress Hooks
WordPress HooksWordPress Hooks
WordPress Hooks
 
The Modern JavaScript Developers Toolbox
The Modern JavaScript Developers ToolboxThe Modern JavaScript Developers Toolbox
The Modern JavaScript Developers Toolbox
 
An Introduction to PHP Classes
An Introduction to PHP ClassesAn Introduction to PHP Classes
An Introduction to PHP Classes
 
Backbone + React
Backbone + ReactBackbone + React
Backbone + React
 
Testing Made Easy
Testing Made EasyTesting Made Easy
Testing Made Easy
 
Using Composer with WordPress - 2.0
Using Composer with WordPress - 2.0Using Composer with WordPress - 2.0
Using Composer with WordPress - 2.0
 
Using composer with WordPress
Using composer with WordPressUsing composer with WordPress
Using composer with WordPress
 
Getting Started with Vagrant
Getting Started with VagrantGetting Started with Vagrant
Getting Started with Vagrant
 

Recently uploaded

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

7 Habits of Highly Effective WordPress Developers

  • 1. Excellent items from you, man. I have take note your stuff prior to and you are just extremely magnificent. I really like what you've acquired here, certainly like what you are stating and the best way in which you say it. You are making it entertaining and you still take care of to keep it wise. I can't wait to learn far more from you. - A flattering spam bot
  • 2. 7 Habits of Highly Effective7 Habits of Highly Effective WordPress DevelopersWordPress Developers Micah Wood - @wpscholar - http://micahwood.me
  • 3. Habit 1: Constantly LearningHabit 1: Constantly Learning Learn – to gain or acquire knowledge of or skill in (something) by: 1) study, 2) experience, or 3) being taught
  • 4. Make a Plan ● Determine your specialty ● Identify your shortcomings ● Consider your options ● Prioritize your approach ● Schedule your studies
  • 5. Habit 2: Being ConsistentHabit 2: Being Consistent The average developer spends 90% of their time reading code. If your code isn't readable, you are just wasting your own time.
  • 6. Writing Readable CodeWriting Readable Code ● WordPress Coding Standards ● Naming ● Code Organization ● Single Responsibility Principle
  • 7. Habit 3: Using Debugging ToolsHabit 3: Using Debugging Tools “Everyone knows that debugging is twice as hard as writing a program in the first place. So if you are as clever as you can be when you write it, how will you ever debug it?” – Brian Kernighan
  • 8. Debugging in PHPDebugging in PHP ● var_dump(); ● WP_DEBUG – enables reporting of all errors ● WP_DEBUG_DISPLAY – display errors on screen ● WP_DEBUG_LOG – log errors to file ● Xdebug
  • 9. Debugging in JavaScriptDebugging in JavaScript ● console.log(); ● SCRIPT_DEBUG ● JS Hint ● Chrome Developer Tools, Firebug ● JetBrains Chrome Extension (for PHPStorm)
  • 10. Habit 4: Creating and Running TestsHabit 4: Creating and Running Tests A programmer’s wife tells him: “Go to the store. Pick up a loaf of bread. If they have eggs, get a dozen.” The programmer returns with 12 loaves of bread.
  • 11. Types of TestingTypes of Testing ● Unit Testing ● Integration Testing ● Regression Testing ● Usability Testing
  • 12. Habit 5: Reusing CodeHabit 5: Reusing Code ● Reusability Principles – Simple – Modular – Extensible ● Documentation ● Referencing vs Forking
  • 13. Habit 6: Automating TasksHabit 6: Automating Tasks “The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency.” – Bill Gates
  • 14. Automation ToolsAutomation Tools ● Vagrant ● WP-CLI ● Grunt / Gulp ● GitHub / BitBucket Webhooks ● Ansible ● Capistrano ● Third Party: Deploy HQ, Beanstalk
  • 15. Habit 7: CollaboratingHabit 7: Collaborating ● Ask questions ● Share your code ● Contribute to a project ● Pair programming

Editor's Notes

  1. Studying - you must know what to study Experience - you must challenge yourself Others - you must find a mentor
  2. Determine your specialty - What do I do best? How can I set myself apart? Identify your shortcomings - As a specialist, where are my skills and knowledge lacking? Consider your options - What tools, experiences or mentors could help me fill the void? Prioritize your approach - What will help me be most effective? Schedule your studies - When can I schedule a regular, uninterrupted time to work through my study plan?
  3. Naming Always prefix classes, functions, custom hooks, post type names, etc. Names should be descriptive and meaningful Names should be pronounceable Names should be searchable Names should provide context Classes and objects should have noun or noun phrase names Methods should have verb or verb phrase names Single Responsibility Principle Functions and classes should only do one thing and do it well. There should be no side effects Don't lie to your users, or yourself!
  4. Sublime Text 2http://www.sublimetext.com/ NetBeanshttps://netbeans.org/ PHPStormhttp://www.jetbrains.com/phpstorm/
  5. Query Monitorhttp://wordpress.org/plugins/query-monitor/ Developer Pluginhttp://wordpress.org/plugins/developer/ Debug Barhttp://wordpress.org/plugins/debug-bar/
  6. SCRIPT_DEBUG Loads uncompressed versions of scripts and stylesheets You should check for SCRIPT_DEBUG when loading minified resources in your themes and plugins.
  7. PHPUnit QUnit
  8. Unit Testing - Specify and test one point of the contract of a single function or method of a class. Integration Testing - Builds on unit tests by combining the units of code and testing that the resulting combination functions correctly. Regression Testing - Writing tests when a bug is fixed to ensure it will not occur again. Usability Testing - Letting actual users test your software to make sure it makes sense and is easy to use. Theme Checkhttp://wordpress.org/plugins/theme-check/
  9. Referencing – Canonical source Submodules / Sub-repositories Composer (dependency management) Forking – Local copies Akin to copy / paste
  10. Code Formatting – PHPStorm Site creation - Vagrant Site maintenance – WP-CLI Project Creation Plugin scaffoldinghttps://github.com/10up/grunt-wp-plugin Theme scaffolding https://github.com/10up/grunt-wp-theme Project Administration - Grunt / Gulp Compile LESS / SASS Combine JS / CSS files Minify JS / CSS files Generate POT translation files - https://www.npmjs.org/package/grunt-wp-i18n
  11. Releasing code is the best way to learn Don't be afraid to contribute ScreenHero.com for pair programming