Skip to main content
Topic: Code "anciency" (does this word even exist in English?) (Read 2241 times) previous topic - next topic - Topic derived from Re: Personal messages
0 Members and 1 Guest are viewing this topic.

Code "anciency" (does this word even exist in English?)

Quote from: ahrasis – That's a very antique code. I thought SMF 1.0 code is already a history.
Ohhh your thinking is in theory right @ahrasis , but in practice is not.

A bit of history: people may tend to think the transition from SMF 1.x to 2.x changed a lot of things, introducing a brand new world, but in reality, the reason the version number changed was basically the introduction of the db-abstraction layer (the $smcFunc thingy). Apart from that, and the obvious consequences, the rest of the code didn't really change that much, some new features, but "behind the scenes" the code didn't change much. In fact, if you go to the SMF mod site and pick mods that were thought for 1.0 there are chances they will still work on SMF 2.0 (and maybe 2.1).

The current ElkArte code, even though it has been changed quite a lot, has not yet been cleaned up of everything left in there from previous rounds of coding, in fact migrating mods from SMF to Elk addons, is not something so terribly complex and may require just a few changes.

So no, not even SMF 1.0 is history (yet).
If I have to guess, most of the traces of the "old" code will disappear from Elk not before 3.0. The reasoning I do to get that number is that, in my mind, 1.x is the "first release branch", a code that still has most of the problems of SMF, but that is heading towards something "better", 2.x will be a "development branch", were there will be enough flexibility to allow introduce new features very easily and refactor code without breaking too much, while 3.0 will be the first version in which the code will be completely clean and "stable" (in the sense that we will be able to introduce new features without fearing of breaking anything).

 emanuele wakes up and takes a coffee. :P
Bugs creator.
Features destroyer.
Template killer.

Re: Code "anciency" (does this word even exist in English?)

Reply #1

I think the word you are looking for is antiquated, certainly the architecture.

The buzz word for what we have been doing is Refactoring ... "is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.

Its heart is a series of small behavior preserving transformations. Each transformation (called a “refactoring”) does little, but a sequence of transformations can produce a significant restructuring. Since each refactoring is small, it’s less likely to go wrong. The system is kept fully working after each small refactoring, reducing the chances that a system can get seriously broken during the restructuring."

I'm in no way putting down the old code, if it was not good stuff we would not be taking the time to bring it forward, but its a process to unravel the tangle.

Re: Code "anciency" (does this word even exist in English?)

Reply #2

Yup, not putting it down (we are building on top of it), just some of it is... funny. :P

And detect certain types of not used code is anyway hard, in the specific case that started this consideration, the code was very difficult to identify, because it was the result of an action generated by a url that didn't exist any more, but... how could we know if a url is generated or not? ???
Bugs creator.
Features destroyer.
Template killer.