| 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. |