[Python-ideas] A PEP to define basical metric which allows to guarantee minimal code quality
M.-A. Lemburg
mal at egenix.com
Thu Sep 21 03:47:56 EDT 2017
On 21.09.2017 03:32, Nick Coghlan wrote:
> On 21 September 2017 at 10:51, Ned Batchelder <ned at 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/
More information about the Python-ideas
mailing list