summaryrefslogtreecommitdiff
path: root/posts/programming/2020-12-01-the-guides.html
blob: a1c329469749e6b4cf19cf8793246e487c523afd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="/includes/stylesheet.css" />
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta
      property="og:description"
      content="The World Wide Web pages of Adam Carpenter"
    />
    <meta property="og:image" content="/includes/images/logo_diag.png" />
    <meta property="og:site_name" content="53hor.net" />
    <meta property="og:title" content="[The Guides]" />
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://www.53hor.net" />
    <title>53hornet ➙ [The Guides]</title>
  </head>

  <body>
    <nav>
      <ul>
        <li>
          <a href="/">
            <img src="/includes/icons/home-roof.svg" />
            Home
          </a>
        </li>
        <li>
          <a href="/info.html">
            <img src="/includes/icons/information-variant.svg" />
            Info
          </a>
        </li>
        <li>
          <a href="/software.html">
            <img src="/includes/icons/git.svg" />
            Software
          </a>
        </li>
        <li>
          <a href="/hosted.html">
            <img src="/includes/icons/desktop-tower.svg" />
            Hosted
          </a>
        </li>
        <li>
          <a type="application/rss+xml" href="/rss.xml">
            <img src="/includes/icons/rss.svg" />
            RSS
          </a>
        </li>
      </ul>
    </nav>

    <article>
      <h1>𝔗𝔥𝔢 𝔊𝔲𝔦𝔡𝔢𝔰</h1>

      <p class="description">
        This is partly satirical and purposefully strange to be humorous. These
        are my personal rules for software development (and other projects where
        I get carried away easily).
      </p>

      <p><em>The Guides.</em> The Guiding Principles.</p>

      <p>
        They guide you. They will not lead you astray. Obey <em>The Guides</em>.
      </p>

      <p>
        You've heard them go by different names. YAGNI. KISS. These are not
        falsehoods, but they are not <em>The Guides</em>. Seek the wisdom of the
        guides.
      </p>

      <blockquote>
        𝔗𝔥𝔬𝔲 𝔰𝔥𝔞𝔩𝔱 𝔴𝔯𝔦𝔱𝔢 𝔞𝔰 𝔩𝔦𝔱𝔱𝔩𝔢 𝔠𝔬𝔡𝔢 𝔞𝔰 𝔭𝔬𝔰𝔰𝔦𝔟𝔩𝔢 𝔱𝔬 𝔤𝔢𝔱 𝔱𝔥𝔢 𝔧𝔬𝔟 𝔡𝔬𝔫𝔢 𝔯𝔦𝔤𝔥𝔱.
      </blockquote>

      <blockquote>
        O Guides, may I please just add this one extra feature? It won't take me
        long and it will be so nice to have later.
      </blockquote>

      <blockquote>
        𝔗𝔥𝔬𝔲 𝔰𝔥𝔞𝔩𝔱 𝔴𝔯𝔦𝔱𝔢 𝖔𝖓𝖑𝖞 𝖙𝖍𝖊 𝖈𝖔𝖉𝖊 𝖓𝖊𝖈𝖊𝖘𝖘𝖆𝖗𝖞 𝔱𝔬 𝔤𝔢𝔱 𝔱𝔥𝔢 𝔧𝔬𝔟 𝔡𝔬𝔫𝔢 𝔯𝔦𝔤𝔥𝔱.
      </blockquote>

      <blockquote>
        O Guides, this can't be correct code. I haven't used proper software
        development patterns, processes, or practices.
      </blockquote>

      <blockquote>
        𝔓𝔞𝔱𝔱𝔢𝔯𝔫𝔰 𝔣𝔬𝔯 𝔱𝔥𝔢 𝔰𝔞𝔨𝔢 𝔬𝔣 𝔭𝔞𝔱𝔱𝔢𝔯𝔫𝔰 𝔞𝔯𝔢 𝔞𝔫𝔱𝔦-𝔭𝔞𝔱𝔱𝔢𝔯𝔫𝔰.
      </blockquote>

      <blockquote>
        O Guides, how may I approach this project pragmatically?
      </blockquote>

      <blockquote>ℌ𝔢𝔢𝔡 𝔱𝔥𝔢𝔰𝔢 𝔯𝔲𝔩𝔢𝔰:</blockquote>

      <ol>
        <li>
          You may only write code directly related to the task at hand. Don't
          get distracted.
        </li>
        <li>
          Once you have working code, make it correct. Once it is correct, make
          it secure. Once it is secure, make it small. Once it is small, stop.
        </li>
        <li>The enemy of good is better.</li>
      </ol>
    </article>
  </body>
</html>