Setting up your development environment

1,352 views

Published on

This presentation is a snapshot how I have setup my development environment. I am constantly evaluating, so this presentation is constantly changing. It gives developers and people that are planning to start with development practical tips, I am presenting in some way best practicals. Because it is my view and what I have found it is also questionable. I am talking about coding styles, Editors, IDE, build tools like phing, git and all that stuff.

Published in: Technology
3 Comments
6 Likes
Statistics
Notes
No Downloads
Views
Total views
1,352
On SlideShare
0
From Embeds
0
Number of Embeds
163
Actions
Shares
0
Downloads
21
Comments
3
Likes
6
Embeds 0
No embeds

No notes for slide

Setting up your development environment

  1. 1. Development ToolsJoomladagen 2013Robert Deutz
  2. 2. Challenges
  3. 3. DEVELOPMENTTESTINGPACKAGING
  4. 4. 5 Areas
  5. 5. Version Control1
  6. 6. Code quality and consistency2
  7. 7. Integrated DevelopmentEnvironment3
  8. 8. Some little tools4
  9. 9. Build tools5
  10. 10. 1
  11. 11. Version Control
  12. 12. Never do development without aversion control systemRULE 1
  13. 13. CVS SVNMercuryGitCentralisedDistributed
  14. 14. Centralised Version Control Systems• very popular at the end of the last century• complicated when working in not centralised teams• merging and working on different things at the same moment is complicated• still room for using it but NOT in an Open Source Project like Joomla!
  15. 15. Distributed• Best thing since sliced bread• good for not centralised teams• Supports merging and branching in an easy way• It allows a group of people to work on different ideas and in parallel on asingle codebase
  16. 16. CVS SVNMercuryGitCentralisedDistributed
  17. 17. GIT
  18. 18. try.github.comGot 15 minutes and want to learn Git?
  19. 19. Tools if you don‘t like the command line
  20. 20. Tower (MAC)
  21. 21. Source Tree (MAC)
  22. 22. 2
  23. 23. Code quality and consistency
  24. 24. Write beautiful and well documentedcode.RULE 2ALWAYS
  25. 25. We do• use brackets• use tabs• format code always in the same way• use meaningful function, variable, methods and class names• use phpDoc Blocks• not copy code (DRY: don‘t repeat yourself)
  26. 26. We write helpful commentsAs I wrote this code onlygod and I know what it isdoing, now only god knowsWRONGRegisters a handler to aparticular event group.RIGHT
  27. 27. 3
  28. 28. Integrated DevelopmentEnvironment(IDE)
  29. 29. We are using an IDERULE 3WHEN IT MAKES SENSE
  30. 30. I don‘t care which one
  31. 31. IDEs• Eclipse (Zend Studio, phpEclipse, .....)• PHP Storm (free license for Joomla! developers)• NetBeans IDE• ......
  32. 32. Cooler Editor: Sublime Text• Packages for almost everything we need• extremely fast• Edit features from heaven• .... but not an IDE• comes closer and closer
  33. 33. How to chose a IDE• Don‘t give up!• It need‘s time, so think first about your requirements• Think about your development process, what you have to do to make surethat you can support your process properly
  34. 34. My Setup
  35. 35. 4
  36. 36. Some little tools
  37. 37. We are trying to automate steps inour development processRULE 4DEVELOPERS ARE LAZY
  38. 38. Code formattingCode Sniffer
  39. 39. phpcs --standard=Joomla *
  40. 40. OR
  41. 41. integrate it in editor / IDE
  42. 42. PHP Documenter
  43. 43. Creates from your well documentedand formated code an APIdocumentation,with just a klick
  44. 44. 5
  45. 45. Build tools
  46. 46. Don‘t do it by yourself when a scriptcan do it for youRULE 5
  47. 47. PHING(phing.info)
  48. 48. extendableexecuting commandspackagingcheckout from a repositorycopy filesreplace tags in files
  49. 49. extendableexecuting commandspackagingcheckout from a repositorycopy filesreplace tags in files
  50. 50. Extendable
  51. 51. 2 FILES
  52. 52. map
  53. 53. packaging
  54. 54. Hartstikke bedankt!Twitter: rdeutzEmail: rdeutz@gmail.comWeb1: rdbs.deWeb2: babioon.comWeb3: robert-deutz.de
  55. 55. [1] http://digitaldisseny.com/en/blog/141-setting-up-codesniffer-to-validate-joomla-coding-standards-on-ubuntu[2] http://git-scm.com[3] http://docs.joomla.org/Git_for_Testers_and_Trackers

×