forked from jplevyak/trafficserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CRUFT.txt
44 lines (31 loc) · 1.44 KB
/
CRUFT.txt
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
CRUFT
*****
This file is designated for tracking cruft in our code. That is, code paths
or ugly hacks that were put into place for a reason: Getting stuff to work
but which could either been done better, or which time will obsolete.
Examples are crude workarounds for broken compilers, libraries, OSes, or
hardware, or or massive ``#ifdef`` clusters, that are better abstracted away
into autoconf and convenience wrappers.
If you are new to the project this is a good place to look for explanations
of why things are the way they are, or help us fix things and make the code
easier to read and maintain.
Store.cc
========
``iocore/cache/Store.cc`` contains three different ``#ifdef`` clusters with
near identical code. Often you will read the same confused comment in three
places, see for instance: http://issues.apache.org/jira/browse/TS-1707
Java
====
we should get rid of: ./example/protocol/test/*.java because, as zwoop says
"friends don't let friends write code in Java".
Plugins
=======
``geoip_acl`` should be a "helper plugin:, or a library/API which other
plugins can use.
Configuration & Defaults
========================
Right now our server doesn't work without a reasonably filled records.config
There are varying opinions on how this could or should be fixed, however one
issue that arrises is that default configuration options are often set ad-hoc
where ever they are needed as #defines. This should instead be consolidated
into a single place.