5 best practices for (web/ software) development

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite & 1 Event

    5 best practices for (web/ software) development - Presentation Transcript

    1. 5 BEST PRACTICES FOR DEVELOPMENT 5 best practices for (web/ software) development
    2. ERWIN ELLING
    3. @erwinelling “passionate web versatilist”
    4. 5 BEST PRACTICES
    5. 1: MODEL VIEW CONTROLLER http://www.flickr.com/photos/wardofsky/2350781947/
    6. we use the django framework (for python)
    7. there’s also rails (for ruby)
    8. and e.g. cakephp (for php) also other frameworks (non-MVC) save lots of time: ARP (for flash), jquery & prototype (for javascript), ... trend towards more and more abstraction and more human readable code
    9. models
    10. url dispatcher
    11. controllers (called views in django; django prefers to call their framework: MTV)
    12. view (template in django)
    13. 2: DO NOT REINVENT THE WHEEL http://www.flickr.com/photos/european_patent_office/3364865051 reuse the stuff that’s readily available
    14. DJANGOSNIPPETS django pluggables for code
    15. google groups for help
    16. do not develop it yourself when it’s already available: ning
    17. wordpress
    18. again frameworks: pinax, framework (combination of apss) on top of django
    19. used pinax for jijmaaktgeschiedenis.nu wanted to add twitter...
    20. someone else had done most of the work for me
    21. hardly had to code myself: just added this; easy
    22. 3: DEVELOPMENT INFRASTRUCTURE & VERSION CONTROL http://www.flickr.com/photos/11397615@N00/3306159672/ different environments in your infrastructure Development, Test, Acceptance, Production In Dutch OTAP: Ontwikkel, Test, Acceptatie, Productie
    23. http://www.flickr.com/photos/parsingphase/3294364709/ version control, e.g. SVN, git, mercurial
    24. blame someone for mistakes! oops, i did it again
    25. let the person who makes mistakes pay for the team’s beers!
    26. 4: AUTOMATE http://www.flickr.com/photos/denis_fox/3537539725/ think about how many repetitive tasks you perform!
    27. this doesn’t look as much work, but i made some faults and have to do this 10 times a day now i can do this with one command!
    28. use shortcuts for repeatable tasks
    29. capistrano (in ruby) e.g. for automating deployment and testing rollbacks when things go wrong
    30. buildout, in python
    31. automation is good for avoiding problems. letting people fool around while sudo’ing is dangerous
    32. e.g. sudo rm -rf oops!
    33. 5: CLEAN CODE http://www.flickr.com/photos/ezu/277341190/ costs some time at first, saves lots of time later
    34. comments
    35. refactor, refactor, refactor no todo’s in code get rid of ugly stuff no hacks to “solve” problems
    36. how many fucks in google code?
    37. DRY http://www.flickr.com/photos/plinton/21543765220 Don’t Repeat Yourself
    38. fat models, skinny controllers
    39. pair programming, code reviews, read other’s code

    + Erwin EllingErwin Elling, 5 months ago

    custom

    940 views, 1 favs, 2 embeds more stats

    Some of the best practices we've acquired while dev more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 940
      • 937 on SlideShare
      • 3 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 30
    Most viewed embeds
    • 2 views on http://www.deondernemers.nl
    • 1 views on http://www.thenextweb.eu

    more

    All embeds
    • 2 views on http://www.deondernemers.nl
    • 1 views on http://www.thenextweb.eu

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories