Re: coding style

Posted by DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI on
URL: http://quantlib.414.s1.nabble.com/coding-style-tp9335p9338.html


>Possibly. At the end of the day, the client code must instantiate all
>needed classes, so it's likely that it includes everything.
>However, the advantage is in compilation times for the library. On the
>one hand, the overall time can decrease as each source file might
>include less headers. On the other hand, and more importantly,
>incremental compilations are faster since changing a header file might
>cause less source files to be recompiled.

Well, since all classes are compiled in the library, they also must have access sooner or later to the actual definition of the classes they are depends on.
IMHO the actual improvement (if any) is that it reduces the number of redundant inclusions. It should make no difference thanks to include guards. However Lakos recommands in his book (Large-Scale C++ Software Design) the use of redundant include guards to detect redundant inclusion earlier. (It keeps the compiler from parsing header files to look for include guards limits.)

>> Another one, what about refactoring the QL folders hierarchy since we
>> are using svn?

>Sure. Any ideas?

I would move some existing folders and files as follows

math:
        optimization
        randomnumbers
        solver1D

time:(new)
        calendars
        daycounters
        (schedule.*, BDC, weekday, ...)

methods:(new)
        finitedifferences
        montecarlo
        lattices

termstructures:
        Volatilities


I would also create the following subfolders:
math:
        integrals
        distributions
        interpolations

instruments:
        swaps
        bonds
        options

termstructures:
        yieldCurve
        volatilities


François



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev