<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Dear Andrew,
<div class=""><br class="">
</div>
<div class="">Thanks for reaching out. If I recall well, we have a page that documents some coding guidelines, which by no means is exhaustive, on <a href="http://www.fieldtriptoolbox.org/development/guideline/code/" class="">http://www.fieldtriptoolbox.org/development/guideline/code/</a>.
I realise that this is quite outdated, since it still mentions SVN as the version control system used, which we abandoned quite a while ago. Yet, I think that most of these guidelines still hold. Indeed the recommendation would be to use 2 spaces for indents,
but it could be that this is somewhat inconsistent (although I’d expect that the majority of the code is using this convention). </div>
<div class=""><br class="">
</div>
<div class="">We look favourable to any type of pull request (I just saw yours posted), as long as they well-motivated and thought through. Sometimes we choose to ignore lint warnings, though, for instance when coding style optimizations are not sufficiently
backward compatible, or when readability of the code is severely compromised. </div>
<div class=""><br class="">
</div>
<div class="">In general, we try to support Matlab versions up to 5 years ago, so these days that would mean that we would start to support functionality that has been introduced from 2014 onwards. This being said, sometimes we boost backward compatibility
of functionality by including drop-in replacements of core Matlab functions in the compat/matlabltSOMENUMBER folders. For instance, the “string” datatype functionality, introduced in matlab2016 has the useful “contains” function, that we considered to be of
sufficient value (cleaning up many instances of ~isempty(strfind()) ), to be promoted to a drop-in function. In general, we shy away from fancy object-oriented stuff (with a few exceptions, but these pertain to functionality that typical users don’t need to
be aware of), because our users are most often scientist with little computational background (nor interest).</div>
<div class=""><br class="">
</div>
<div class="">The majority of the test functions in our test directory can only be run on our local compute cluster, since many of the functions require data that is only available locally. The travis continuous integration stuff that is deployed upon submitting
a PR at the moment is not doing anything meaningful (don’t tell anybody), and it will always pass. In general, when adding new functionality, we typically try and create a little test function that ideally (if possible) creates some toy data from scratch,
so that it does not depend on reading data from disk. In principle, all test functions that don’t load in data should run anywhere. </div>
<div class=""><br class="">
</div>
<div class="">I hope that these replies are by no means the end of it, and I am looking forward to further interactions, either on this platform or through github.</div>
<div class=""><br class="">
</div>
<div class="">Best wishes,</div>
<div class="">Jan-Mathijs</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
J.M.Schoffelen, MD PhD<br class="">
Associate PI, VIDI-fellow - PI, language in interaction<br class="">
Telephone: +31-24-3614793</div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Physical location: room 00.028</div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Donders Centre for Cognitive Neuroimaging, Nijmegen, The Netherlands<br class="">
<br class="">
</div>
</div>
<div class=""> </div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On 23 Mar 2019, at 19:42, Andrew Janke <<a href="mailto:floss@apjanke.net" class="">floss@apjanke.net</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Hi, FieldTrip folks,<br class="">
<br class="">
I'm a software developer working with a student who's using FieldTrip<br class="">
for their thesis, and would like to make a couple Pull Requests to the<br class="">
FieldTrip project.<br class="">
<br class="">
What's the standard code style for FieldTrip? It looks like 2 spaces for<br class="">
indents, but this isn't consistent between all the files.<br class="">
<br class="">
Would you want style-only Pull Requests? How about Pull Requests that<br class="">
fix Matlab lint warnings ("code inspections")?<br class="">
<br class="">
I noticed in <a href="http://www.fieldtriptoolbox.org/faq/requirements/" class="">
http://www.fieldtriptoolbox.org/faq/requirements/</a> that you<br class="">
try to support older Matlab versions. What's the oldest Matlab version<br class="">
you're currently targeting? I'm wondering what recently-added Matlab<br class="">
features can be used yet, and which versions of Matlab I should run the<br class="">
tests under.<br class="">
<br class="">
Speaking of which, how do you run the full FieldTrip test suite (the<br class="">
stuff in the test/ directory)?<br class="">
<br class="">
Cheers,<br class="">
Andrew Janke<br class="">
<a href="mailto:floss@apjanke.net" class="">floss@apjanke.net</a><br class="">
_______________________________________________<br class="">
fieldtrip mailing list<br class="">
https://mailman.science.ru.nl/mailman/listinfo/fieldtrip<br class="">
https://doi.org/10.1371/journal.pcbi.1002202<br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
<br class="">
<br class="">
<div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<br class="">
</div>
</div>
</div>
</div>
</div>
<br class="">
</body>
</html>