What do you mean "the code is messy"?

From OHRRPGCE-Wiki
Jump to: navigation, search

The OHRRPGCE is not well-structured code. It is not object oriented, it does not consistently follow either functional or procedural programming styles, and it makes heavy use of bad programming practices such as overuse of globals. The OHRRPGCE uses a design philosphy known as the BIG BALL OF MUD. The BIG BALL OF MUD methodology is well documented and described in an article at http://www.laputan.org/mud/mud.html I highly recommend that anyone thinking about becoming an OHRRPGCE developer should read this article.

The OHRRPGCE's source code is messy and complicated and full of tacky hacks. It is not a good place for a new programmer to be practicing. If you are learning to program, you should be looking at clean simple well-structured code. You should not be looking at a big ball of mud.

Nevertheless, you are welcome to download the source code no matter what your level of programming skill is.

There used to be a warning about the messyness of the code on the source code download page. It is not there anymore. There is still a warning about the messyness of the code at the top of each source code file. Maybe, hopefully, someday the code will be clean enough that we can remove the warning :)

Now that the OHRRPGCE compiles in FreeBasic is the code a bit less messy?[edit]

Somewhat.

The new parts of the code, such as allmodex.bas and its related backends are pretty spiffy, but much of the older code is just as messy as ever. The road to clean code is a long one.

Even if the code is messy, I still want to became a OHRRPGCE programmer. What are the first things I should do after downloading the source code?[edit]

  1. Pray (or, if you're non-religious, pray to the Computer Gods of Nerdvana or, if you're an Internet addict, the Great Modem in the Sky)
  2. Sign up for the Mailing List
  3. Learn FreeBasic
  4. check out a copy of the Source code
  5. Read the bug list to get an idea what work needs to be done
  6. Pray more

See Also[edit]