On Code Reviews

par TailorDev (web / Twitter). Quelques conseils sur la manière de faire des reviews de code avant un pull request sur GitHub : être positive, constructif, bienveillant et factuel ; se concentrer sur les aspects les plus importants ; le faire régulièrement et par petits morceaux à chaque fois.

Rubber Duck Debugging

Expliquer en détail son code à un canard (même en plastique), permet de se rendre compte de ses erreurs. Voir aussi la méthode du canard en plastique sur Wikipédia.

Ten simple rules for making research software more robust

Morgan Taschuk, Greg Wilson, PLoS Computational Biology, 2017, DOI: 10.1371/journal.pcbi.1005412

  1. Use version control (voir les ressources sur Git et GitHub)
  2. Document your code and usage
  3. Make common operations easy to control
  4. Version your releases
  5. Reuse software (within reason)
  6. Rely on build tools and package managers for installation
  7. Do not require root or other special privileges to install or run
  8. Eliminate hard-coded paths
  9. Include a small test set that can be run to ensure the software is actually working
  10. Produce identical results when given identical inputs

Ten recommendations for creating usable bioinformatics command line software

Torsten Seemann, GigaScience, 2013, DOI: 10.1186/2047-217X-2-15

  1. *Print something if no parameters are supplied
  2. Always have a “-h” or “--help” switch
  3. Have a “-v” or “--version” switch
  4. Do not use stdout for messages and errors
  5. Always raise an error if something goes wrong
  6. Validate your parameters
  7. Don’t hard-code any paths
  8. Don’t pollute the PATH
  9. Check that your dependencies are installed
  10. Don’t distribute bare JAR files

Ten Simple Rules for Developing Usable Software in Computational Biology

Markus List, Peter Ebert, Felipe Albrecht, PLoS Computational Biology, 2017, DOI: 10.1371/journal.pcbi.1005265

  1. Identify the Missing Pieces
  2. Collect Feedback from Prospective Users
  3. Be Ready for Data Growth
  4. Use Standard Data Formats for Input and Output
  5. Expose Only Mandatory Parameters
  6. Expect Users to Make Mistakes
  7. Provide Logging Information
  8. Get Users Started Quickly
  9. Offer Tutorial Material
  10. Consider the Future of Your Tool

Comments

comments powered by Disqus