Talking PyNeuromodulation coding practices #316
toni-neurosc
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi everyone. I'm not sure who's reading this, so in case you're wondering @timonmerk has recently added me as a collaborator to the project. I'm super happy to be working on PyNM and hope my contributions make a difference to the current users of the software and the new users that we hope to have when this new phase of development is completed.
I wasn't sure how to title this thread, but the idea was to talk about the general coding principles that we want to be adhering to as we work together in the project. I'm new here but I have already noticed that there at least a couple of paradigms that PyNM is trying to draw from:
But since quite a few people have been or will be working in the project, I thought maybe this is just a consequence of the background of the different contributors and not something that has been discussed or chosen deliberately. Additionally, maybe not every person working in the project is fully knowledgeable about all of those concepts/practices. For example, I myself am not super familiar with Unit Testing or with advanced OOP concepts, or the more modern OOP tools in Python (e.g. protocols of which I learned very recently).
So I thought it would be cool to have a place to maybe discuss which philosophies of coding PyNM wants to be following, or to share learning resources with other contributors that relate to those philosophies/paradigms/practices. Maybe in the future it can result in some kind of "guidelines" or "best practices" document we can agree on.
I'll start by sharing the article that gave me the idea, and that is related to typing and data validation in Python. It's a very interesting read and I'll be trying to apply the ideas here.
Beta Was this translation helpful? Give feedback.
All reactions