On Sunday, 27 January 2019 12:18:51 CET Heiko Bauke wrote: > Hi, > > I think darktable has made a huge step forwards regarding new features > in the recent 2.6 release. For this reason I would like to focus on > code quality, performance and user experience in my future contributions.
Hello Heiko, static code analysis is OK. I use csbuild in my CI and have a Coverity account. However the Coverity scan service is currentrly down. csbuild is what we use internally to do static analyis on every package which goes into the distribution, but it is open source so could be integrated into CI easily. See. e.g. here: https://gitlab.com/libssh/libssh-mirror/pipelines or https://gitlab.com/cmocka/cmocka/pipelines select a pipeline and look for the csbuild runner. It wont run Coverity for you, but clang-analyzer and cppcheck and more. Extremly good are the Sanitizers. There is AddressSanitzer, MemorySanitizer, UndefinedSanitizer and ThreadSanitizer. However they do runtime detection and for that you need tests. Darktable doesn't have any testing at all. It means you would need to run darktable and edit images with it. The sanitizers make the code much slower, even with optimization turned on. Might still be worth to try them. If you write multithreaded code you should always run your stuff with helgrind and drd. Also compilers have really good warnings in the meantime you just need to turn them on and make them errors for developers. See the projects mentioned above. Cheers, Andreas ___________________________________________________________________________ darktable developer mailing list to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org