Monday, August 24, 2015

Best Practices in Software Development


References

Code Integrity

  1. Automated builds
  2. Continuous integration
  3. Unit testing and test-driven development
  4. Code consistency and agreed standards for quality

Best Practice to Continuous Delivery

  • Don’t build the binaries at each stage of the deployment pipeline, create them once an reuse them.
  • The capacity testing environment should be as similar as possible to the production environment.
    • increase frequency of deployment
    • iterative monitor, measure, and improve the code
  • Script everything!
  • Don’t let builds that fail unit or acceptance test into production
  • Put all the configuration in version control (network, firewall, OS, etc)
  • Automate everything
    • automate code testing
    • automate work-flows
    • automate infrastructure

Git dos and don’ts

The dos:

Write useful, readable commit message
use topic branches locally
small, logical commits
do choose a workflow

The don’ts:

Don’t rebase public commits
Don’t delete unmerged remote branches
Don’t more than 1 project per repo.
Don’t create a very large repo.

Labels: , , , , , , , ,

Friday, August 21, 2015

Software Design

  • Contain Changes
  • Re-usability
  • Design and Development Principles
    • SOLID - Object Oriented Design Principle
      • Single Responsibility: a class should have only a single responsibility
      • Open-Closed: “ be open for extension, closed for modification.”
      • Liskov substitution: objects should be replaceable, design by contract
      • Interface segregation: many client-specific interfaces are better than one general-purpose interface
      • Dependency inversion: Depend upon Abstractions. Do not depend upon concretions
    • DRY - Don't Repeat Yourself
    • KISS - Keep it simple, stupid
    • If it ain't broke, don't fix it
    • GRASP - OO Design.

Labels: , , ,

Friday, January 9, 2015

Perl Resources

From One of the best way to start learning Perl for Developement jobs, is to read the below books in order and practice on your own. Don't be baffled on the below list of books. If you want to work as a Perl Developer and be a competent Perler you need to work hard. Or otherwise, if enough Perl is required to get the Job Done for your organisation, then "Beginning Perl by James Lee - Apress" is your reference, although it will not work for production level code.

1) Sams Teach yourself Perl in 24 Hours
This gives a definite understanding of all Perl Variables and References for a Beginner. At least first 2 Parts is must reading

2) Learning Perl - Oreilly
This one is definite for Perl Basics and Idioms and with hands on Practice on the exercises to start as a real perl developer

3) Intermediate Perl - Oreilly
This one is for References, Modules and Object Oriented Programming. This book will surely take time to understand if you are new to Perl References and OOPs. But once you are through you can call yourself as a Perl Developer, but be sure to practice the exercises and don't skip it.

4) Mastering Perl - Oreilly
This one is for Typeglobs and other Advanced Perl features, but would recommend to read this book if you have worked atleast on 2 Perl Projects.

5) Effective Perl
This one is only Refresher if there is some gap for your next Perl Project, and that's why I gave 4 stars, but it's a good read ( if you have time ) and it helps to improve your code and you will learn some new perl tricks.

6) Perl Cookbook 2e, Aug. 2003

7) Programming Perl: Unmatched power for text processing and scripting, 4e, Mar. 2012

Labels: , , ,