Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Clean Code, who missed the p(o)int... ?

Clean Code, who missed the p(o)int... ?

Scheduled Pinned Locked Moved The Lounge
question
25 Posts 16 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J jschell

    Marc Clifton wrote:

    Unfortunately much of our field is littered with terms like "clean code", "Agile", "SOLID"

    And "readability".

    Marc Clifton wrote:

    I still have no idea who the heck Liskov is/was.

    I looked for actual studies on "readability" at one time. There must be some given how much developers use that term to justify almost anything. There was one study that involved fonts used in marketing materials (and it was probably printed marketing also.) As I recall the conclusion was that 4 or fewer fonts should be used. Nothing else.

    D Offline
    D Offline
    DeerBear
    wrote on last edited by
    #12

    Readability is actually really important. The reason you can't find studies on it is that it varies by language, norms, code history, etc. I mean, sure, there are *some things* that are simply unreadable no matter what, but most often readability is highly subjective and team-based. Making hard and fast rules about it is very impractical and verging - in my opinion - on impossible.

    J 1 Reply Last reply
    0
    • L Lost User

      Clean Code: I like it, at least parts of it. But now I just recognized that some co workers interprets this, that it is enough having their code clean formatted text whise (indentation etc.) Can be that I'm wrong, but I think they have missed the point :(

      Sander RosselS Offline
      Sander RosselS Offline
      Sander Rossel
      wrote on last edited by
      #13

      They missed the point alright. You should also wash your computer with soap at least weekly. Especially your hard disk because that's where your code is stored. In production it's important to also wash your RAM because that's where lots of it runs.

      Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

      1 Reply Last reply
      0
      • L Lost User

        Clean Code: I like it, at least parts of it. But now I just recognized that some co workers interprets this, that it is enough having their code clean formatted text whise (indentation etc.) Can be that I'm wrong, but I think they have missed the point :(

        M Offline
        M Offline
        maze3
        wrote on last edited by
        #14

        If they mid level plus, then just share out this summary, which is nice quick scan over. Just helped me when I was trying to recall what clean code is. [Summary of 'Clean code' by Robert C. Martin · GitHub](https://gist.github.com/wojteklu/73c6914cc446146b8b533c0988cf8d29)

        Greg UtasG 1 Reply Last reply
        0
        • L Lost User

          Clean Code: I like it, at least parts of it. But now I just recognized that some co workers interprets this, that it is enough having their code clean formatted text whise (indentation etc.) Can be that I'm wrong, but I think they have missed the point :(

          M Offline
          M Offline
          Member 9167057
          wrote on last edited by
          #15

          People following the form because they don't bother understanding the content ain't news, sadly.

          D 1 Reply Last reply
          0
          • J jschell

            Marc Clifton wrote:

            Unfortunately much of our field is littered with terms like "clean code", "Agile", "SOLID"

            And "readability".

            Marc Clifton wrote:

            I still have no idea who the heck Liskov is/was.

            I looked for actual studies on "readability" at one time. There must be some given how much developers use that term to justify almost anything. There was one study that involved fonts used in marketing materials (and it was probably printed marketing also.) As I recall the conclusion was that 4 or fewer fonts should be used. Nothing else.

            P Offline
            P Offline
            PhilipOakley
            wrote on last edited by
            #16

            Most readability responses are along the lines of: - "They don't RTFM, so why write a good one", - "Comments in code is bad", - "I'm not good at (variable) naming". Nothing to read. Unplanned code obsolescence! Thank goodness(?) for Emoji's.

            D 1 Reply Last reply
            0
            • M maze3

              If they mid level plus, then just share out this summary, which is nice quick scan over. Just helped me when I was trying to recall what clean code is. [Summary of 'Clean code' by Robert C. Martin · GitHub](https://gist.github.com/wojteklu/73c6914cc446146b8b533c0988cf8d29)

              Greg UtasG Offline
              Greg UtasG Offline
              Greg Utas
              wrote on last edited by
              #17

              I've never read it, but that's a really good summary, though there are a few terms that need explaining.

              Robust Services Core | Software Techniques for Lemmings | Articles
              The fox knows many things, but the hedgehog knows one big thing.

              <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
              <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

              1 Reply Last reply
              0
              • M Member 9167057

                People following the form because they don't bother understanding the content ain't news, sadly.

                D Offline
                D Offline
                Daniel Pfeffer
                wrote on last edited by
                #18

                It's called Cargo Cult [whatever]. :-\

                Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                M 1 Reply Last reply
                0
                • P PhilipOakley

                  Most readability responses are along the lines of: - "They don't RTFM, so why write a good one", - "Comments in code is bad", - "I'm not good at (variable) naming". Nothing to read. Unplanned code obsolescence! Thank goodness(?) for Emoji's.

                  D Offline
                  D Offline
                  Daniel Pfeffer
                  wrote on last edited by
                  #19

                  PhilipOakley wrote:

                  Thank goodness(?) for Emoji's

                  Especially this one: 💩

                  Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                  1 Reply Last reply
                  0
                  • J jschell

                    Marc Clifton wrote:

                    Unfortunately much of our field is littered with terms like "clean code", "Agile", "SOLID"

                    And "readability".

                    Marc Clifton wrote:

                    I still have no idea who the heck Liskov is/was.

                    I looked for actual studies on "readability" at one time. There must be some given how much developers use that term to justify almost anything. There was one study that involved fonts used in marketing materials (and it was probably printed marketing also.) As I recall the conclusion was that 4 or fewer fonts should be used. Nothing else.

                    K Offline
                    K Offline
                    KateAshman
                    wrote on last edited by
                    #20

                    I have one person in my team who will insist on doing things their way, because of clean code and readability. It's such a moot point, IMHO. Practically speaking, you should stick to the following: Structurally, you should keep the cyclometric complexity low --> you'll have cheaper A/B testing in the future, which is a good fallback strategy for unforeseen issues of all sizes. Syntax wise, just copy whatever style is prevalent in the code-base already, and reduce inconsistencies --> cheaper refactoring in the future. Quality wise, you should always aim for less lines of code, without resorting to ANY advanced language techniques --> less reading to understand the code, less esoteric bugs. Just do those three things to drive costs down and quality up. Everything else is pointless. The compiler doesn't care about the look and feel of the code and the user definitely doesn't care. We should take a hint and stop caring so much too.

                    A 1 Reply Last reply
                    0
                    • D Daniel Pfeffer

                      It's called Cargo Cult [whatever]. :-\

                      Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.

                      M Offline
                      M Offline
                      Member 9167057
                      wrote on last edited by
                      #21

                      Right, thank you!

                      1 Reply Last reply
                      0
                      • K KateAshman

                        I have one person in my team who will insist on doing things their way, because of clean code and readability. It's such a moot point, IMHO. Practically speaking, you should stick to the following: Structurally, you should keep the cyclometric complexity low --> you'll have cheaper A/B testing in the future, which is a good fallback strategy for unforeseen issues of all sizes. Syntax wise, just copy whatever style is prevalent in the code-base already, and reduce inconsistencies --> cheaper refactoring in the future. Quality wise, you should always aim for less lines of code, without resorting to ANY advanced language techniques --> less reading to understand the code, less esoteric bugs. Just do those three things to drive costs down and quality up. Everything else is pointless. The compiler doesn't care about the look and feel of the code and the user definitely doesn't care. We should take a hint and stop caring so much too.

                        A Offline
                        A Offline
                        Andre_Prellwitz
                        wrote on last edited by
                        #22

                        Programmers who can't be bothered to use linting tools are rarely concerned with cyclometric complexity, or maintenance cost, or refactoring. Also, it seems the broken window theory applies to software: if it's already crap software, most people won't bother with writing good code, resorting instead to the metric of lowest cost to write (even if it means the user or company pays the price many times over).

                        J 1 Reply Last reply
                        0
                        • D DeerBear

                          Readability is actually really important. The reason you can't find studies on it is that it varies by language, norms, code history, etc. I mean, sure, there are *some things* that are simply unreadable no matter what, but most often readability is highly subjective and team-based. Making hard and fast rules about it is very impractical and verging - in my opinion - on impossible.

                          J Offline
                          J Offline
                          jschell
                          wrote on last edited by
                          #23

                          DeerBear wrote:

                          The reason you can't find studies on it is that it varies by language, norms, code history, etc.

                          Nope. The reason you can't find any studies on it is because one needs to first be able to measure something to do a study. You can't declare that something is 'better' if you cannot define how to measure that it is so. Would you sign a contract that said your code must be 'better' or you don't get paid unless the contract specifically stated how that would be measured?

                          1 Reply Last reply
                          0
                          • A Andre_Prellwitz

                            Programmers who can't be bothered to use linting tools are rarely concerned with cyclometric complexity, or maintenance cost, or refactoring. Also, it seems the broken window theory applies to software: if it's already crap software, most people won't bother with writing good code, resorting instead to the metric of lowest cost to write (even if it means the user or company pays the price many times over).

                            J Offline
                            J Offline
                            jschell
                            wrote on last edited by
                            #24

                            Andre_Prellwitz wrote:

                            bothered to use linting tools are

                            Sigh... Static checkers are useless. They were useless 40 years ago when I first saw them and just as useless now. I have seen a static checked which tagged switch statements as being too complex. The 'solution' which some programmer implemented to fix that and which was reviewed and passed involved creating 40 objects every single time. 40 objects that could not even be created successfully every time. That code ended up in production. So it went from a very valid and correct idiom to one that failed. If the teams consists of NOTHING but junior developers then maybe they might provide a benefit. But if there is even one mid level developer and that person actually takes code review seriously then that is going to be far more effective.

                            A 1 Reply Last reply
                            0
                            • J jschell

                              Andre_Prellwitz wrote:

                              bothered to use linting tools are

                              Sigh... Static checkers are useless. They were useless 40 years ago when I first saw them and just as useless now. I have seen a static checked which tagged switch statements as being too complex. The 'solution' which some programmer implemented to fix that and which was reviewed and passed involved creating 40 objects every single time. 40 objects that could not even be created successfully every time. That code ended up in production. So it went from a very valid and correct idiom to one that failed. If the teams consists of NOTHING but junior developers then maybe they might provide a benefit. But if there is even one mid level developer and that person actually takes code review seriously then that is going to be far more effective.

                              A Offline
                              A Offline
                              Andre_Prellwitz
                              wrote on last edited by
                              #25

                              Agreed, static code analysis is designed to provide false positives over false negatives. What I actually meant was the simple linters that fix code style differences; if you cannot even agree on standards (rules such as "interface names should start with the letter 'I'", or "avoid Hungarian notation") then what are the odds you can agree on what's considered "clean"?

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups