The best software engineering practices to develop bioinformatic programs