I Reckon THIS Must Be The Place
About THIS
There are a few philosophies within, and you will glean them by reading this documentation. The most important one, though, is this: "Anything and everything may change."
And that is a suitable introduction to THIS.
Code Is Not Sacred
We have no emotional attachment to this code. The code frequently is redesigned and rewritten. Write code in a manner as if it will be rewritten in the future. "Be prepared to be deleted."
Code Will Tell
First versions, proofs of concept, new ideas, are always implemented without consideration to performance or efficiency or even to understandability. "Sloppy" code that works is code that works. Eventually, the code itself will "tell the way" for improvement. "Let it happen in it's own good time."
Time To Redesign
If some portion of code is frequently being adjusted, redesign. If some code is confusing, redesign. If a file has become very large, redesign. If something is just not clear enough, or if the code suddenly "shows a new way", stop development and redesign. Code is not poetry. "Code is meant to be rewritten."
This Will Be Redesigned
If you are not new to THIS you know that the outward appearance has had almost no change in many months, while the internals have very much changed.
Some months ago we made an announcement of a THIS API. Initial test showed a reduction in code by one-third. However, some "sloppy code" became apparent and the API development was put aside. (There were a few other projects we did in the mean time as well.)
The API version will happen—we have another website that will use it. But one more redesign has shown itself, and that needs to happen first. There is going to to be an overall architectural change that is going to globally reduce complexity. All global data has been eliminated. Next, all code order dependency will be eliminated. (Actually, we snuck that in at the last minute with the current release.)
Next, we'll have our API.
Notes
1. We initially had two variations of that phrase: "can change" and then "will change". Using "may change" is the better.