On 21.09.2017 03:32, Nick Coghlan wrote: > On 21 September 2017 at 10:51, Ned Batchelder <n...@nedbatchelder.com> wrote: >> Write a document that proposes some quality metrics. Share it around. Get >> people to like it. If it becomes popular, then people will start to value it >> as a standard for project quality. > > And explore the academic literature for research on quality measures > that are actually predictors of real world benefits (e.g. readability, > maintainability, correctness, affordability). > > There doesn't seem to be all that much research out there, although I > did find https://link.springer.com/chapter/10.1007/978-3-642-12165-4_24 > from several years ago, as well as > http://ieeexplore.ieee.org/document/7809284/ from last year (both are > examples of pay-to-play science though, so not particularly useful to > open source practitioners).
On the topic, you might want to have a look at a talk I held at EuroPython 2016 on valuation of a code base (in the context of valuation of a Python company): https://downloads.egenix.com/python/EuroPython-2016-Python-Startup-Valuation.pdf (1596930 bytes) Video: https://www.youtube.com/watch?v=nIoE3KJxK6U There are a few things you can do with metrics to figure out how good a code base is. Of course, in the end you always have to do a code review, but the metrics are a good indicator of where to start looking for possible issues. -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts (#1, Sep 21 2017) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> Python Database Interfaces ... http://products.egenix.com/ >>> Plone/Zope Database Interfaces ... http://zope.egenix.com/ ________________________________________________________________________ ::: We implement business ideas - efficiently in both time and costs ::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ http://www.malemburg.com/ > Regardless, Ned's point still stands: the PEP process only applies to > situations where the CPython core developers (or a closely associated > group like the Python Packaging Authority) are the relevant global > authorities on a topic. Even PEP 7 and PEP 8 are technically only the > style guides for the CPython reference implementation - folks just > borrow them as the baseline style guides for their own Python > projects. > > "Which characteristics of Python code are useful predictors of the > ability to deliver software projects to specification on time and > within budget?" (the most pragmatic definition of "software quality") > is *not* one of those areas - for that, you'd be more looking towards > groups like IEEE (Institute of Electrical & Electronics Engineers) and > ACM (Association for Computing Machinery), who study that kind of > thing across multiple languages and language communities, and try to > put some empirical weight behind their findings, rather than relying > primarily on instinct and experience (which is the way we tend to do > things in the open source community, since it's more fun, and less > effort). > > Cheers, > Nick. > -- Marc-Andre Lemburg eGenix.com Professional Python Services directly from the Experts (#1, Sep 21 2017) >>> Python Projects, Coaching and Consulting ... http://www.egenix.com/ >>> Python Database Interfaces ... http://products.egenix.com/ >>> Plone/Zope Database Interfaces ... http://zope.egenix.com/ ________________________________________________________________________ ::: We implement business ideas - efficiently in both time and costs ::: eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48 D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg Registered at Amtsgericht Duesseldorf: HRB 46611 http://www.egenix.com/company/contact/ http://www.malemburg.com/ _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/