Skip to content
Daniel Côté edited this page Jul 20, 2022 · 28 revisions

Welcome to the RayTracing Project : Coding

  • Before anything, read the project README to get started and understand what this Python module is all about and what ray tracing is.
  • The list of things to do (called Issues) are here. If they are not assigned to anyone, you can take them by assigning them to you.
  1. To get started on coding in general, read HOWTO-Code on GitHub.

    1. You can adopt any issue, as long as you own it properly: go through, fix it, call for help if needed.
    2. If you are part of the DCCLab, simply clone the repository with the link:
      1. image
    3. If you are not a member of the group, you need to Fork the repository. You will be able to create a Pull Request that will be sent back to us when you are done:
      1. image
    4. Always create a branch to work. Start from master or a sub-branch if you are working on a specific detail that has not been merged yet into master.
    5. Often Fetch in the GitHub application to get changes to get your branch up to date
    6. Every day, click Update from Master in the GitHub application to pull important changes that were accepted major changes
    7. Readability of the code is essential: docstring for each function, proper capitalization. Read HOWTO Coding Style Guide. Yes, we use camelCase. No, it is not negotiable. Yes, D.C.Côté knows it is not Python-like.
    8. For proper testing, you must run from the Raytracing directory, so that when you call "import raytracing", it takes your own local copy, not another copy elsewhere on your computer.
    9. Any changes where you fix a given function that does not work properly will probably be accepted quickly.
    10. Any changes where you propose a new algorithm will be reviewed carefully. Remember, speed is not the key design goal: readability and usability are.
    11. Any changes to the API (i.e. if you change a function name or the number of arguments) without backward compatibility is not accepted unless you provide strong (and good) arguments. We do no program only for us: people have been using the code for some time now.
    12. Proper capitalization is important. Function and variable names are very important.
    13. Create a Pull request when done. Assign reviewers: D.C. Côté + others if you want feedback from others.
    14. Only D.C. Côté can merge the pull requests.
    15. Upon review and merge, the branch will be deleted on the server.
    16. If the branch is deleted on the server, your copy of the branch on your computer will appear as "Publish to GitHub" in the GitHub Desktop application. You must delete it.
  2. To get started on writing tests, read HOWTO Write Unit Tests

    1. We aim for 90% coverage with the tests.
    2. You find a bug? Create a test that illustrates it, then create an Issue. Then go to 2.
Clone this wiki locally