fre 2007-03-02 klockan 08:58 -0700 skrev Alex Rousskov: > Thank you very much for all your Squid3 efforts! Without your work > Squid3 would not happen. I hope you feel the increased interest in and > work on Squid3 these days.
Thanks, but probably overrated. > FWIW, I am very interested in fixing core bugs. For example, I rewrote > request body handling to fix several core bugs (changes are currently in > squid3-icap). With the exception of ICAP, I cannot spend time polishing > optional features like TPROXY, but I am sure there are enough core bugs > for me :-). Getting the core stable is the prime criteria for getting Squid-3 to start walking. > Also, with the ICAP code becoming stable, I should be able to spend > more time on core fixes. Hopefully. > As for C++, if a willing person cannot understand some C++ concept in > Squid, it should probably be removed or at least well documented. removing is a bit hard as that would leave gaping holes in the code.. leaving the choices of fixing up the code to make sense and/or documenting it.. > Personally, I am against hairy C++ code that only gurus can grok. For > me, most of the C++ complexity in Squid3 comes from an unfortunate blend > of C features like cbdata and C++ features like refcounting. Hopefully, > we will fix that in Squid 3.1. One good start would be to unify the code.. today there is too many generations of coding style.. * Old C code, just wrapped up with a .cc extension * First generation C++ translation adding some classes trying to divide the code in well more defined units. * Second generation C++ refactoring, adding some OO properties. * Third generation C++ refactoring of the refactoring, using different style. * Fourth generation of C++ refactoring, where things is mostly done right and understandable. * And some parts which looks more like exploring fancy features of C++ rather than trying to make the code more readable or maintainable. * And some very old C code still left around.. (also plagued Squid-2) The many different ways cbdata types is defined and implemented is a good example of this.. - Old C style CBDATA_TYPE - First C++ translation CBDATA_CLASS, with significant coding overhead - Refatored version CBDATA_CLASS2. Refcounting also has a bit of similar heritage. All fixable, just a matter of developer time and interest.. Regards Henrik
signature.asc
Description: Detta är en digitalt signerad meddelandedel