7. Coding/Development

Our suggestion is that you use Eclipse's RSE as outlined in Lab 0. More specifically, once you have created a working copy of the SVN repository with the files that we provide you for this lab, you should use Eclipse's RSE to implement the functions specified in the previous section.

You may be tempted to use your preferred text editor on your preferred OS. In my opinion, there may be at least two drawbacks. First, you will have to move the files from your preferred OS to the Minix 3 image on VirtualBox every time you make a change to your code. Second, sometimes Minix's development tools have trouble with files created by some text editors on Windows. Often, you can configure these text editors not to use the offending characters, but how to do it is not always straightforward. If you choose to use a text editor on Windows, in spite of these warnings, I suggest you test them as soon as possible to avoid wasting your time.

If you have not yet read these notes, which provide an overview of the development process that you'll use in LCOM, now is a good time to do so.

As stated in those notes, you should follow an incremental/gradual development approach. I.e. rather than coding all the functions you have to code, before compiling and testing them, you should fully develop and test the functions, one at a time. E.g. you should code timer_get_conf() first, compile it, and test it by running it with the appropriate inputs. Once you are happy with the test results you should commit your changes to the SVN repository. Only then should you start developing the next function. Actually, you might want to commit your changes not only at the end of development cycle of each function, but while you are coding and as you carry out the different tests. (This will save you from losing all your hard work, if for some reason you break Minix. This seldom happens, but better safe than sorry.)