{
  "title": "61 Code review",
  "description": "Previously published at https://two-wrongs.com/code-review-checklist",
  "author": "kqr",
  "steps": [
    {
      "html": "<p><strong>Maintainability</strong></p>",
      "text": "Maintainability"
    },
    {
      "html": "<p>Review request……….IS FOR SMALL, ATOMIC CHANGE</p>",
      "text": "Review request……….IS FOR SMALL, ATOMIC CHANGE"
    },
    {
      "html": "<p>Description………….CONTAINS SPEC./REQUIREMENTS</p>",
      "text": "Description………….CONTAINS SPEC./REQUIREMENTS"
    },
    {
      "html": "<p>Names and concepts………….HAVE OBVIOUS MEANING</p>",
      "text": "Names and concepts………….HAVE OBVIOUS MEANING"
    },
    {
      "html": "<p>Non-obvious mechanics…………….ARE DOCUMENTED</p>",
      "text": "Non-obvious mechanics…………….ARE DOCUMENTED"
    },
    {
      "html": "<p><strong>Correctness</strong></p>",
      "text": "Correctness"
    },
    {
      "html": "<p>Business operations……HAVE APPROPRIATE METRICS</p>",
      "text": "Business operations……HAVE APPROPRIATE METRICS"
    },
    {
      "html": "<p>Test plan………………….PRESENT AND EXECUTED</p>",
      "text": "Test plan………………….PRESENT AND EXECUTED"
    },
    {
      "html": "<p>Code in revision…………………BUILDS &amp; RUNS</p>",
      "text": "Code in revision…………………BUILDS & RUNS"
    },
    {
      "html": "<p>All non-obvious logic…………..COVERED BY TESTS</p>",
      "text": "All non-obvious logic…………..COVERED BY TESTS"
    },
    {
      "html": "<p>Unit tests…………………TEST MANY EDGE CASES</p>",
      "text": "Unit tests…………………TEST MANY EDGE CASES"
    },
    {
      "html": "<p>Race conditions……………………CANNOT OCCUR</p>",
      "text": "Race conditions……………………CANNOT OCCUR"
    },
    {
      "html": "<p><strong>Invalid Inputs/State</strong></p>",
      "text": "Invalid Inputs/State"
    },
    {
      "html": "<p>Input box……………..HANDLES ARBITRARY STRINGS</p>",
      "text": "Input box……………..HANDLES ARBITRARY STRINGS"
    },
    {
      "html": "<p>Numbers………………………..CAN BE NEGATIVE</p>",
      "text": "Numbers………………………..CAN BE NEGATIVE"
    },
    {
      "html": "<p>Integers………………………….CAN OVERFLOW</p>",
      "text": "Integers………………………….CAN OVERFLOW"
    },
    {
      "html": "<p>Floating-point values…..HAVE SUFFICIENT PRECISION</p>",
      "text": "Floating-point values…..HAVE SUFFICIENT PRECISION"
    },
    {
      "html": "<p>Strings………………..ARE ESCAPED IF NECESSARY</p>",
      "text": "Strings………………..ARE ESCAPED IF NECESSARY"
    },
    {
      "html": "<p>Dates………………………WORK PAST YEAR 2038</p>",
      "text": "Dates………………………WORK PAST YEAR 2038"
    },
    {
      "html": "<p>Network loss………………………..IS HANDLED</p>",
      "text": "Network loss………………………..IS HANDLED"
    },
    {
      "html": "<p><strong>Usability</strong></p>",
      "text": "Usability"
    },
    {
      "html": "<p>Error messages………….STATE PROBLEM SUCCINCTLY</p>",
      "text": "Error messages………….STATE PROBLEM SUCCINCTLY"
    },
    {
      "html": "<p>User-facing errors……………..SUGGEST SOLUTION</p>",
      "text": "User-facing errors……………..SUGGEST SOLUTION"
    },
    {
      "html": "<p>Timestamps…………………….INCLUDE TIMEZONE</p>",
      "text": "Timestamps…………………….INCLUDE TIMEZONE"
    },
    {
      "html": "<p>Pers. ident. information…………..NOT PERSISTED</p>",
      "text": "Pers. ident. information…………..NOT PERSISTED"
    }
  ]
}