Bohdan Bandrivskyy

About Bohdan Bandrivskyy

I have more then 8 years experiences as software developer. Last 7 years it's mainly java and java related technologies. Java fan :) and JUG Lviv participant and co-promoter

Best Practices Ever for Software Development

  1. Write programs for people, not computers.
    • a program should not require its readers to hold more than a handful of facts in memory at once
    • names should be consistent, distinctive and meaningful
    • code style and formatting should be consistent
    • all aspects of software development should be broken down into tasks roughly an hour long
  2. Automate repetitive tasks.
    • rely on the computer to repeat tasks
    • save recent commands in a file for re-use
    • use a build tool to automate scientific workflows
  3. Use the computer to record history.
    • software tools should be used to track computational work automatically
  4. Make incremental changes.
    • work in small steps with frequent feedback and course correction
  5. Use version control.
    • use a version control system
    • everything that has been created manually should be put in version control
  6. Don’t repeat yourself (or others).
    • every piece of data must have a single authoritative representation in the system
    • code should be modularized rather than copied and pasted
    • re-use code instead of rewriting it
  7. Plan for mistakes.
    • add assertions to programs to check their operation
    • use an off-the-shelf unit testing library
    • use all available oracles when testing programs
    • turn bugs into test cases
    • use a symbolic debugger
  8. Optimize software only after it works correctly.
    • use a profiler to identify bottlenecks
    • write code in the highest-level language possible
  9. Document design and purpose, not mechanics.
    • document interfaces and reasons, not implementations
    • refactor code instead of explaining how it works
    • embed the documentation for a piece of software in that software
  10. Collaborate.
    • use pre-merge code reviews
    • use pair programming when bringing someone new up to speed and when tackling particularly tricky problems

The only extra I would have included would be:

11. Maintain and update older code.
 

Reference: Best Practices Ever for Software Development from our JCG partner Andriy Andrunevchyn at the Java User Group of Lviv blog.

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

JPA Mini Book

Learn how to leverage the power of JPA in order to create robust and flexible Java applications. With this Mini Book, you will get introduced to JPA and smoothly transition to more advanced concepts.

JVM Troubleshooting Guide

The Java virtual machine is really the foundation of any Java EE platform. Learn how to master it with this advanced guide!

Given email address is already subscribed, thank you!
Oops. Something went wrong. Please try again later.
Please provide a valid email address.
Thank you, your sign-up request was successful! Please check your e-mail inbox.
Please complete the CAPTCHA.
Please fill in the required fields.

6 Responses to "Best Practices Ever for Software Development"

  1. Vel says:

    Kept it very simple. Worth reading. Thanks author.

  2. Very good summary, and the best part is that author did not make it into 1.5 hour video! :)

  3. Abhishek Anne says:

    Liked +1

  4. Bookmarked! It pays to be reminded of these simple list of best practices every now and then. Thanks for sharing, Bohdan. Cheers!

  5. screamingmage says:

    Great post! Love the point about refactoe code instead of trying to explain what it does

Leave a Reply


− four = 1



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy | Contact
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
Do you want to know how to develop your skillset and become a ...
Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you two of our best selling eBooks for FREE!

Get ready to Rock!
You can download the complementary eBooks using the links below:
Close