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