25 May 2019

Reviewing code

History / Edit / PDF / EPUB / BIB / 2 min read (~360 words)
software-development processes

The most up to date version of this process is available as a Claude command in my dot-claude repository.

  • Verify that the build/tests pass
  • Read the issue title and description
  • New code
    • Understand the feature and associated requirements that are supposed to be implemented
    • Verify code implements the desired feature and that the requirements are completed
  • New/Changed code
    • Check code contains tests
      • Is all the new code covered by those tests?
    • Verify the location of new/moved files
      • Are the files in the right directory?
      • Are they appropriately named?
    • Verify classes, methods, functions, parameters naming
      • Are they significant of their purpose?
      • Are they clear enough?
      • Are they respecting the naming convention?
    • Does the code respect SOLID?
    • Consider that when functions/methods signature change, code may now be backward incompatible.
      • Discuss whether this is necessary
      • Backward incompatible changes should be documented
    • In a weak typed or type hinted language, are parameters and return of functions/methods typed?
    • Are there TODOs that should be completed within this review?
    • Check code for code style issues
  • Bug fix
    • Verify that the fix is applied at the right location and will not "fix the symptoms, not the cause"

When reviewing

  • Provide specific and actionable feedback
  • Clearly mark nitpicks and optional comments
    • Alternatively, use an approach such as RFC2219 where you indicate whether a change is a MUST, SHOULD, or MAY
    • I've used traffic light color emojis to communicate 🔴 MUST, 🟡 SHOULD, 🟢 MAY
    • Another emoji based option is gitmoji
  • Assume competence
  • Provide rationale or context
  • Consider how comments may be interpreted
  • Don't criticize the person, criticize the code
  • Don't use harsh language

01 Dec 2018

Task overload

History / Edit / PDF / EPUB / BIB / 1 min read (~52 words)
processes

It's highly common when working that priorities shift and that sometimes you have way more on your plate than you can handle.

No need to panic!

  • Ignore your task list
  • Use your brain and create a fresh list of what you think is the most important
  • Prioritize using the importance/urgency matrix
18 Aug 2017

Question answering

History / Edit / PDF / EPUB / BIB / 1 min read (~34 words)
general processes
  • Have a question
  • Ask LLMs
  • Identify the field that would best answer this question
  • Search online
  • Search for articles and books on the topic
  • Determine the likelihood that this field has already been researched
05 Aug 2017

Book reading

History / Edit / PDF / EPUB / BIB / 1 min read (~39 words)
general processes reading
  • Read the table of contents
  • Rapidly skim through the various sections of the book
  • Determine what you want to get out of the book
  • Ask yourself questions about what you briefly read

01 Aug 2017

Language exchange

History / Edit / PDF / EPUB / BIB / 1 min read (~48 words)
processes
  • What did you do this week/today?
  • Do you want to talk about anything? (Not language related)
  • Summarize tasks given during the exchange
  • Plan next exchange

  • Pronunciation
  • Can you say ...?
  • How do you say ...?
  • Goal specific discussions

  • What do you think of ...?
  • What do you want ...?