Thank you John Ralls, That was very informative. I now have the git version downloaded and compiling successfully (Horah!).
I have been getting used to the existing source code over the past hour or so and realised there are a few cases were magic numbers are used: gint hours = -bias / 60; // 60 minutes per hour gint minutes = (bias < 0 ? -bias : bias) % 60; (gnc-date.c) Would it be beneficial to replace the numbers with more meaningful definitions such as: #define MINUTES_PER_HOUR 60 gint hours = -bias / MINUTES_PER_HOUR; gint minutes = (bias < 0 ? -bias : bias) % MINUTES_PER_HOUR; The definition would, in this case be stored in gnc-date.h I think it could improve readability as well as help me to get more familiar with the code base! Any thoughts welcome Regards, Alex Kempster On 7 November 2013 15:05, John Ralls <[email protected]> wrote: > > On Nov 7, 2013, at 5:42 AM, Alex Kempster <[email protected]> wrote: > > > I would like to help develop source code for this project. From my > research > > I understand that GnuCash is based on C and GTK+. I know that the code > can > > be accessed at: > > > > http://svn.gnucash.org/repo/gnucash/trunk > > > > I looked through the FAQ but was unable to find a route in to helping > > develop for this project. > > Can anybody provide information as to a good starting point such as > > code tidying or minor > > > > patches and modifications? I am a competent C programmer and I have > > dabbled a little bit > > on GTK, SDL and OpenGL. I also have a few years experience working on > > parallelization of > > programs using OpenMP. I realise that GnuCash only runs on a single > > processor core so > > > > improving the performance of calculations such as large for loops is > > something that I feel > > > > could enhance the project. Can I add support for using multiple > > processor cores using OpenMP > > > > and if so, where would be a good place for me to start? Finally, I > > can't find any information on > > > > setting up development under linux, is there a guide for this or > > general tool-suite that is > > > > commonly used? > > > > Thank you for your time! > > Welcome! > > The usual way for people to start getting involved with any open source > project, Gnucash > included, is to work on bugs. We have an extensive and diverse collection > on Gnome's Bugzilla at https://bugzilla.gnome.org/query.cgi. Select > Gnucash from the project list and pick a subsystem to narrow the list a > bit, then click on "search". > > Before you start coding, you should familiarize yourself with our > development environment, process, coding standards, and so on. Please read > http://wiki.gnucash.org/wiki/Development and > http://wiki.gnucash.org/wiki/Development_Process and the linked pages. > > Some future plans -- modulated by our significant shortage of programmer > time -- can be found at http://wiki.gnucash.org/wiki/Roadmap. > > We are now in the final couple of months of releasing our next minor > version, 2.6, so any significant changes will have to wait for that to > stabilize and branch, which we usually do about 3 months and bug-fix > releases after the initial release. That doesn't mean you can't start on > anything major until then, just that it has to live on a branch until then. > > You found our subversion repository, but with the release of 2.6 we will > be closing that and completing the transition to git, which the core > developers are already using. You can clone the repository from > https://github.com/Gnucash/gnucash.git. > > As for MP, we need to get to multi-user access to the database backend > first. This will unfortunately require a major rewrite, for which we're > planning to use C++. Thread safety should certainly be a design > consideration in that new implementation; the current one is stuffed with > statics and utterly thread unsafe. > > Regards, > John Ralls > > -- Kind Regards, Alex Kempster www.computingunlocked.com _______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
