From: David C. <dc...@gm...> - 2020-01-27 19:01:30
|
Thank you kindly Jose for your thoughts. I agree small steps to begin with. I've been involved with lots of large codebases where summer interns would come in, write a substantial amount of code which was buggy and full of warnings, and I would spend a few months tidying up the mess afterwards. I never write code in that way. I'm a firm believer in small changes towards a goal. I'm also a big fan of TDD but I'm guessing there are no unit tests for this project. It is never too late. I can see that FF is a very complex piece of work, so will need 'kid gloves'. I see there are a number of crash reports on Github and a large number of warnings during compilation (mainly incomplete switch statements which is worrying). I think these should be addressed first. I notice when clicking around the application that odd things happen (the GUI seems to get very confused for example when there are two windows open simultaneously). Other times the close button doesn't work. I think these small things should be investigated and fixed. I'm a big fan of memory and bug analysis tools so would like to run those when I get up and running with a local build. As explained to Fred, I'm currently stuck with a linker issue on MacOS (too many versions of libiconv). I hope to get past that shortly. Regards David. On Mon, Jan 27, 2020 at 1:36 AM Jose Da Silva <di...@jo...> wrote: > Hi David, > Start with small patches and improvements first instead of trying to > tackle > a big monster project. This comes with time as you get more familiar with > the code. I agree, C is much more interesting. > > You may want to take a top-down look (to see the forest), but probably try > fix from a bottom-up approach. Top down approach can easily fix one thing > and > break something else (and there are times where the code flipped one way > and > then another) but doing a bottom-up approach, you can fix a number of > lower- > level unstable functions that assume data is good (doesn't handle bad data > well), and also misses a bit of housecleaning along the way. > > Keep an eye for improvement, like making code thread-safe/re-entrant code, > big/little endian, runs well on modern distros and if you can, older > distros, big/little endian. > |