Os Harrison

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

    Favorites, Groups & Events

    Os Harrison - Presentation Transcript

    1. Programming with Dynamic Confidence Matt Harrison matthewharrison@gmail.com http://panela.blog-city.com/ OSCON July 26, 2007
    2. Confessions Read only Ask Question Committers Buggers Patchers http://www.flickr.com/photos/flikr/45457114/in/photostream/
    3. Missing functionality! No private members No “debug” build ● ● No constants No difference ● ● between initialization No explicit exception ● & assignment catching No pointers ● No preprocessor ● No case statement ● No compilation ● warnings No boolean type* ● No final variables No malloc/free ● ● No enumerations No buffer overflows ● ●
    4. Less is more
    5. Smaller == ? Easier to read ● ●Less bugs ●Less time ●Easier to change ●Time for fun things ●Less testing ●Less to review
    6. If it's not tested it's broken Bruce Eckels
    7. Simple Edit/Update Flow Change/update foo.py diff foo.py foo.py~ Patch
    8. Complex Edit/Update Flow Check in SCM Run unit tests Examine coverage No Create unit test Code covered? Yes Change code Patch Check in SCM
    9. http://www.flickr.com/photos/hypowren/523594838/
    10. pep8.py #python pep8.py ­­show­pep8 SQLAlchemy­0.3.7­ py2.4.egg/sqlalchemy/sql.py ... SQLAlchemy­0.3.7­py2.4.egg/sqlalchemy/  sql.py:2445:35: W601 .has_key() is deprecated,  use 'in'     The {}.has_key() method will be removed in  the future version of Python. Use the 'in'  operation instead, like:     d = {\"a\": 1, \"b\": 2}     if \"b\" in d:         print d[\"b\"]
    11. pylint Global evaluation ­­­­­­­­­­­­­­­­­ Your code has been rated at  4.15/10
    12. 640 Kb ought to be enough for anyone http://www.flickr.com/photos/esparta/187132368/in/set-72157594187689069/
    13. Measuring programming progress by lines of code is like measuring aircraft building progress by weight http://www.flickr.com/photos/esparta/187132368/in/set-72157594187689069/
    14. Controlling complexity is the essence of computer programming Brian Kernighan
    15. Refactoring A change made to the internal structure of the software to make it easier to understand and cheaper to modify without changing its observable behavior Martin Fowler
    16. Code coverage reports considered dangerous?
    17. http://flickr.com/photos/editor/90242221/
    18. UQDS
    19. Questions?
    20. Thanks
    21. Simplicity is prerequisite for reliability Edsger W. Dijkstra

    + oscon2007oscon2007, 3 years ago

    custom

    490 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 490
      • 490 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    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