aces / EEG2BIDS

EEG2BIDS Wizard: a tool for converting raw EEG and iEEG data into the BIDS standard data structure, prepared for LORIS (Longitudinal Online Research and Imaging System).
MIT License
7 stars 11 forks source link

TODO: Refactor and cleanup list #40

Open maltheism opened 3 years ago

maltheism commented 3 years ago

Configuration.js needs to be refactored when time permits for the following suggestions:

  1. React hooks useState should be refined so duplicate line warnings aren't present and to condense the code that's truly needed. Maybe making use of AppContext instead of having a state object for cycling through everything.
  2. react-datepicker is nice but electron is basically chrome bundled and it does have it's own date interface.
  3. react-switch as well can be replaced with a radio button that's modified to look like a switch with some simple css.

Python needs to be refactored when time permits for the following suggestions:

  1. Note the python code always needs to be refactored/cleaned but what's more import is removing dependencies that aren't crucial. Basically, every package/library that's not mne-bids or eeg related should be removed with pure python replacing the functionality; otherwise moving some of the python tasks to javascript (nodjs) code.

Keep in mind these suggestions may appear unnecessary but will help maintainability of the application and keep it easily upgradable for each major version of operating systems the user installs.

maltheism commented 3 years ago

Hi @laemtl, please read the above and some of it was already mentioned in slack "about a future refactor" when time permits; not something to worry about now because of deadlines. I mainly want to highlight that we should attempt to keep (javascript & python) dependencies restricted to a minimum for future upkeep of the application.

Side note: M1 MacBook will need use of rosetta for python v3.8.5 and for successfully building "numpy" used by mne-bids. There's a way to launch one's terminal to use rosetta and then to check if terminal is launched in the right mode for building successfully. Video demonstration.