As part of my academic research I am writing some python code. Although I try to follow good coding practices I don't get any feedback on my code from my supervisors, as they are domain experts (civil engineering) but not experienced in software engineering.<p>How do others in simmilar situations get feedback for the code they write?
This is definitely a pretty common situation with academic code.<p>I think there are two paths - (1) human code review to consider things like design patterns, and (2) automated code review through static analysis to consider things like linting, use of language idioms, cyclomatic complexity, code duplication, variable reuse, etc.<p>Code Climate [1] is one service that provides the latter pretty well. It's free for open source.<p>You can also run linting tools on your local machine, for instance ESLint for JavaScript or pycodestyle / pep8 or flake8 for Python.<p>[1]: <a href="https://codeclimate.com/" rel="nofollow">https://codeclimate.com/</a>
CodeReview on StackExchange, so long as the code works.<p><a href="https://codereview.stackexchange.com/" rel="nofollow">https://codereview.stackexchange.com/</a>
I would recommend starting a code peer review circle with your fellow domain experts and never allowing yourself to push to your repo without someone reviewing.