-
Notifications
You must be signed in to change notification settings - Fork 1
/
index.html
118 lines (100 loc) · 4.52 KB
/
index.html
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
118
---
title: Welcome!
layout: base
---
<div class="jumbotron jumbotron-banner">
<div class="row">
<div class="col-sm-10 col-sm-offset-1">
<blockquote>
<p>Instead of imagining that our main task is to instruct a <em>computer</em> what to do, let us concentrate
rather on explaining to <em>human beings</em> what we want a computer to do.</p>
<footer>Don Knuth, <cite title="Literate Programmming">Literate Programming (1984)</cite></footer>
</blockquote>
</div>
</div>
</div>
<img src="{{ site.baseurl }}/images/IMG_0308-splash-1x.jpg"
srcset="{{ site.baseurl }}/images/IMG_0308-splash-1x.jpg 1x, {{ site.baseurl }}/images/IMG_0308-splash-2x.jpg 2x"
class="img-responsive img-banner center-block" alt="LMU CS splash" />
<div class="container">
<div class="row">
<div class="col-xs-12">
<h1>LMU Computer Science “Hacking” Guidelines </h1>
<p class="lead">Guidelines website for successfully “hacking” Computer Science at Loyola Marymount University—mostly
hacking-as-programming, but maybe some life hacks too.</p>
</div>
</div>
</div>
<div class="container" role="main">
<div class="row">
<div class="col-sm-7">
<p>Welcome to the LMU Computer Science “Hacking” Guidelines website. This site aims to provide a concrete
list of guidelines, supported by rationales and examples, for writing code (and potentially doing other
things) in the best possible way.</p>
<h2>Two Guidelines to Rule Them All</h2>
<p>Beyond the obvious “your code should work correctly,” the following guidelines serve as the foundation
for everything else you will see on this site. When in doubt about something, apply these fundamentals in
order to reach the right decision.</p>
<div class="panel panel-default" id="fnd-mng">
<div class="panel-heading">
<dl class="dl-horizontal">
<dt><h4>fnd-mng</h4></dt>
<dd><h4>Your code’s appearance should accurately reflect its structure and meaning.</h4></dd>
</dl>
</div>
<div class="panel-body">
<dl class="dl-horizontal">
<dt>Reason</dt>
<dd>
In the spirit of the Don Knuth quote at the top of this site, our primary value is the effective
communication of our code’s intent to fellow human beings. Since fellow humans read your
<em>code</em> and <em>not</em> your mind, it is your code’s <em>appearance</em> that will
convey this intent.
</dd>
</dl>
</div>
</div>
<div class="panel panel-default" id="fnd-ease">
<div class="panel-heading">
<dl class="dl-horizontal">
<dt><h4>fnd-ease</h4></dt>
<dd><h4>Make your code as easy to understand, maintain, and extend as possible.</h4></dd>
</dl>
</div>
<div class="panel-body">
<dl class="dl-horizontal">
<dt>Reason</dt>
<dd>
The long-term “life” of your code will be one of change. Because the ultimate rule is for your code
to be correct, we want it to change <em>correctly</em>. Ease of understanding comes in because the
maintainer or extender of your code will not necessarily be you. In fact, even if that changer
is a <em>future</em> you, that person might not remember what you know and understand <em>now</em>.
</dd>
</dl>
</div>
</div>
</div>
<div class="col-sm-5">
<p><em>If you can’t click on a section or a link goes nowhere, then that section hasn’t been written
(yet).</em></p>
<a class="btn btn-default btn-block" href="all">
<h4>Language-Independent Guidelines</h4>
</a>
<a class="btn btn-default btn-block" href="curly">
<h4>“Curly-Brace” Languages</h4>
</a>
<ul class="list-inline text-center">
<li><a href="c"><h4>C</h4></a></li>
<li><a href="java"><h4>Java</h4></a></li>
<li><a href="javascript"><h4>JavaScript</h4></a></li>
</ul>
<a class="btn btn-default btn-block" href="web"><h4>Web Technologies</h4></a>
<ul class="list-inline text-center">
<li><a href="html"><h4>HTML</h4></a></li>
<li><a href="css"><h4>CSS</h4></a></li>
</ul>
<a class="btn btn-default btn-block" href="python"><h4>Python</h4></a>
<a class="btn btn-default btn-block" href="ruby"><h4>Ruby</h4></a>
</div>
</div>
</div>