# CW22 introduction presentation - [Code review during research](#orgf89747b) - [Code Review benefits researchers themselves](#orgbcf3cf6) - [Code Review is common software development practice](#org3242a8e) - [CRC group 2: Provide guideliesn for CR during research](#org17f05ee) - [Workshop outline](#orgab73c80) - [Code Review Community](#org4ff1ecf) - [Polling](#orgc115994) - [Overview of code review guidelines](#org1fe8659) - [Principles](#org7ac75a0) - [Four steps](#orga4bbd29) - [Website overview](#org78e0346) <a id="orgf89747b"></a> # Code review during research - Yesterday we had a presentation about CODECHECK. Code review at the time of publication. It's relevant for reproducibility and checking state of a codebase. - But what if the code is unreadable/unmaintanable? It's too late for a rewrite. - There is a need for code review *during research*. A different kind of code review: informal, low-stakes and frequent. Something you would with colleagues once a week. Focus on code quality. Does not replace publication-time review - but is complementary. <a id="orgbcf3cf6"></a> # Code Review benefits researchers themselves - Code review during research has benefits beyond better code quality. - Learning and knowledge transfer - Mentoring and dissemination of experience and good practices. - More experienced programmers are exposed to new patterns and approaches. - Collaboration - Regular meetings and discussions increases group awareness, trust and cohesion. - Specific technical knowledge is spread. Easier for newcomers, reduce impact of leavers. <a id="org3242a8e"></a> # Code Review is common software development practice - Code review is common in the software industry and open source communities, but very rare in research. - Lack of awareness and guidance on how to do code review in a research context. Most material out there is targeted at the software industry and open source projects. - Establishment of code review culture will probably struggle with lack of incentives for code quality and lack of confidence. <a id="org17f05ee"></a> # CRC group 2: Provide guidelines for CR during research - UK/US based group of researchers and RSEs. - Started as one of the working groups of the Code Review Community. - GROUP PHOTO - In practice, guidelines as website. Living document that is open to contributions. <a id="orgab73c80"></a> # Workshop outline 1. Short intro to CR guidelines and tour of the website. 2. Breakout rooms 3. Report back 4. Wrap up <a id="org4ff1ecf"></a> # Code Review Community A few words about the CRC? Maybe by Holly? Can reuse poster from SORSE? <a id="orgc115994"></a> # Polling - Mentimeter poll to learn more about the audience. <a id="org1fe8659"></a> # Overview of code review guidelines <a id="org7ac75a0"></a> ## Principles - Suited for lone, perhaps isolated, research developpers. - Short, fixed duration. Can fit into a busy schedule with possiblity of iteration. - Informal and low stakes. - Accessible to less experienced programmers (e.g. resaercher how would not think of themselves as programmers). <a id="orga4bbd29"></a> ## Four steps 1. Find a reviewer 2. Meet and agree on objectives 3. Perform the code review 4. Finish <a id="org78e0346"></a> # Website overview