1. 12

    Or maybe the metrics are bad? Without further information this is just a bunch of graphs with axis labeled some numbers of unknown meaning. How is a tool deciding what is maintainable and what isn’t?

    1. 4

      The tool is not “deciding” what is maintainable and what is not.

      Maintainability index, cyclomatic complexity, (a|e)fferent coupling, … are all industry standard software metrics. For more details on how they’re calculated and what they mean: https://www.cauditor.org/help/metrics/maintainability_index etc. Or just Google for them :)

      A high score on a certain metric doesn’t necessarily mean something is “bad”. A controller will usually be more complex than a model, for example. It’s still up to humans interpret the data, in its context.

      As far as the metrics being bad: no, they’re fairly simple standard calculations (you can argue how useful the formulas are, though). But there definitely is not enough data to state without a doubt that programmers don’t evolve. So far, it’s just an observation based on a very small sample of data.

    1. 2

      Harvests private email addresses and wants to create and edit web hooks? No thanks.

      1. 1

        email address is needed to extract your commits & put them on a trendline. hooks are needed to be able to analyze new commits.

        But you don’t even have to login, analyzer can also be run manually from your machine (in which case only the code metrics & project data are submitted): https://www.cauditor.org/help/import/manual_submission

      1. 7

        I downvoted for the following reasons:

        • I find these “you are doing X wrong” titles offensive.

        • Considering the author wants to tell me how to scale, they are using an RDBMS for their social graph?

        • The author is using strings to create SQL queries. Not even funny.

        1. 4

          I disliked how the author threw out concepts without really describing pitfalls that someone trying to scale would probably need. He just mentions that cache is a magic thing and then does little to describe how to best use it. Even when he talks about sharding he just ends it by saying “it’s complex, deal with it later.”

          1. 1

            @apy:

            • Agreed on the titles - renamed
            • Doesn’t matter what the example is/was. It wasn’t originally even an example around social graph, until a friend of mine pointed out to best keep my examples on 1 subject. I ultimately settled on this example since it’s straightforward - don’t need no explaning on how it should work. Anyway, 1 example updated & another removed ;)
            • The goal was to keep the examples as simple as possible - didn’t want to bother with mysql_query or ORM code. But that seemed confusing indeed; fixed that.

            @tesla:

            I’ve added a little more info. However, the message on sharding is still: don’t deal with it unless you really have to (plus, there is a link to another post that will explain in detail how, should you need to)

            1. 2

              Doesn’t matter what the example is/was

              Yes it does. This post is making a statement about how to solve problems in a scalable way and as its example is using the, known, least scalable way of solving a social graph. This author should be laughed out of the room.

              1. 1

                This author should be laughed out of the room

                Pretty sure you noticed that was me. Can’t say I appreciate the snark.

                As mentioned, I agree the choice of a social graph was not the best fit given this context.

                However, Facebook’s social graph (using TAO) still persists the data to MySQL[1] and relies on it to replicate to slaves. Way back before they built TAO, they also mostly relied on memcached[2] - like in the example.

                Anyway, I’m done discussing this. I’ve removed the example since I agree it was pretty poor & didn’t contribute much anyway.

                1: http://www.theregister.co.uk/2013/06/27/facebook_tao/

                2: https://www.facebook.com/notes/facebook-engineering/tao-the-power-of-the-graph/10151525983993920