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. Linter?

Linter?

Scheduled Pinned Locked Moved The Lounge
questionhelptutorial
54 Posts 18 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.
  • K Offline
    K Offline
    Kevin Marois
    wrote on last edited by
    #1

    Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

    If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

    R Kornfeld Eliyahu PeterK N Greg UtasG T 12 Replies Last reply
    0
    • K Kevin Marois

      Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

      If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

      R Offline
      R Offline
      raddevus
      wrote on last edited by
      #2

      I've heard of linters and used them. Probably from a bit of background in C/C++. Very helpful online linters for html, json, javascript. Sometimes those online JS linters can bail you out of trouble when you can't see a missing/extra comma or bracket.

      1 Reply Last reply
      0
      • K Kevin Marois

        Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

        If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

        Kornfeld Eliyahu PeterK Offline
        Kornfeld Eliyahu PeterK Offline
        Kornfeld Eliyahu Peter
        wrote on last edited by
        #3

        I have ESLint enabled in VS at my work...

        "Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid." ― Albert Einstein

        "It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox

        1 Reply Last reply
        0
        • K Kevin Marois

          Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

          If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

          N Offline
          N Offline
          Nelek
          wrote on last edited by
          #4

          I didn't know about them, thanks for the heads up.

          M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.

          1 Reply Last reply
          0
          • K Kevin Marois

            Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

            If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

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

            I developed at C++ static analysis tool[^] that I regularly use on my code.

            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>

            J 1 Reply Last reply
            0
            • K Kevin Marois

              Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

              If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

              T Offline
              T Offline
              trønderen
              wrote on last edited by
              #6

              I am surprised that anyone has not heard of a linter ... I grew up with compilers who did those kinds of things. Compilers not allowing just any kind of dirt, because 'you asked for it, you got it'. When C came on the scene, my generation quickly made shell macros to always run lint before running the compiler, to get something resembling what they were used to with the compilers of the old days. In my last job, we tightened some of the Lint rules, redefining a few warnings as errors, and required the build job to be aborted if lint reported an error. The logging system reported the number of (non-fatal) lint warnings for each build to a statistics module, to monitor the development of code quality. We gradually changed to Python, and although there is a sort of Python-lint, it never was mandated. The programmers were happy: They were no longer bugged by these nasty remarks of bad code quality. Sadly, I am not surprised that far too many of my workmates will call such development "progress".

              1 Reply Last reply
              0
              • K Kevin Marois

                Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

                If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

                J Offline
                J Offline
                Jeremy Falcon
                wrote on last edited by
                #7

                Been using linters for years. Peeps shouldn't be doing development without them.

                Jeremy Falcon

                1 Reply Last reply
                0
                • K Kevin Marois

                  Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

                  If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

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

                  Static analysis tools do not provide any value in modern programming. When they were first invented compilers had almost zero effective error reporting so using a second tool with pattern matching to find those before compilation seemed like a good idea. The authors or companies pushing them often claim benefits that do not exist. Bugs in software which are actually significant, where significant means costing time (and thus money) to fix come from logic errors and system errors which static analysis tools cannot identify by their very nature. Adherence to static analyzers can actually end up creating code that is not as easy to maintain and even end up introducing bugs. This happens when developers just try anything to get it to pass. The argument proponents make about that problem is that developers should be more diligent. But of course the same argument applies to why one might claim that a static analyzer is a good idea in the first place. Why are those very same diligent developers being nit-picked in the first place?

                  K M J C 4 Replies Last reply
                  0
                  • J jschell

                    Static analysis tools do not provide any value in modern programming. When they were first invented compilers had almost zero effective error reporting so using a second tool with pattern matching to find those before compilation seemed like a good idea. The authors or companies pushing them often claim benefits that do not exist. Bugs in software which are actually significant, where significant means costing time (and thus money) to fix come from logic errors and system errors which static analysis tools cannot identify by their very nature. Adherence to static analyzers can actually end up creating code that is not as easy to maintain and even end up introducing bugs. This happens when developers just try anything to get it to pass. The argument proponents make about that problem is that developers should be more diligent. But of course the same argument applies to why one might claim that a static analyzer is a good idea in the first place. Why are those very same diligent developers being nit-picked in the first place?

                    K Offline
                    K Offline
                    Kevin Marois
                    wrote on last edited by
                    #9

                    From what I can see, all we're using it for is ensuring code formatting is correct. So now I have to go back and remove extra lines, or empty spaces at the end of line, etc. Seems like a real time waster to me

                    If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

                    Greg UtasG H 2 Replies Last reply
                    0
                    • Greg UtasG Greg Utas

                      I developed at C++ static analysis tool[^] that I regularly use on my code.

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

                      J Offline
                      J Offline
                      jmaida
                      wrote on last edited by
                      #10

                      I'll check this out.

                      "A little time, a little trouble, your better day" Badfinger

                      1 Reply Last reply
                      0
                      • K Kevin Marois

                        From what I can see, all we're using it for is ensuring code formatting is correct. So now I have to go back and remove extra lines, or empty spaces at the end of line, etc. Seems like a real time waster to me

                        If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

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

                        Could be, but those kind of things can point to sloppiness that is more problematic.

                        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
                        • J jschell

                          Static analysis tools do not provide any value in modern programming. When they were first invented compilers had almost zero effective error reporting so using a second tool with pattern matching to find those before compilation seemed like a good idea. The authors or companies pushing them often claim benefits that do not exist. Bugs in software which are actually significant, where significant means costing time (and thus money) to fix come from logic errors and system errors which static analysis tools cannot identify by their very nature. Adherence to static analyzers can actually end up creating code that is not as easy to maintain and even end up introducing bugs. This happens when developers just try anything to get it to pass. The argument proponents make about that problem is that developers should be more diligent. But of course the same argument applies to why one might claim that a static analyzer is a good idea in the first place. Why are those very same diligent developers being nit-picked in the first place?

                          M Offline
                          M Offline
                          Mircea Neacsu
                          wrote on last edited by
                          #12

                          That is quite an opinionated answer. Responding to it would almost certainly create a flame war. @GregUtas has made a static analyzer and described it in an article. Maybe, if you have a different opinion, you can write an article explaining your point of view. That way we would all be able to evaluate its merits. Simple, definitive statements like "Static analysis tools do not provide any value in modern programming." remind me of the famous H. L. Meknken quote: "For every complex problem there is an answer that is clear, simple, and wrong."

                          Mircea

                          1 Reply Last reply
                          0
                          • K Kevin Marois

                            Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

                            If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

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

                            😶all my software without already has a bunch of warnings about async no await, and none reachable code, why would I want to add to that list and then c#10 is used, and gives more warnings about shortening and rewriting things to be even more compressed then before ......I think I might fix some of these warnings first then add linter 😞

                            1 Reply Last reply
                            0
                            • K Kevin Marois

                              Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

                              If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

                              M Offline
                              M Offline
                              Martin ISDN
                              wrote on last edited by
                              #14

                              in my opinion, it's one of the greatest ideas. in the spirit of non-standardized C, from the original K&R book: "For those situations where strong type checking is desirable, a separate version of the compiler is used. This program is called lint, apparently because it picks bits of fluff from one's programs. lint does not generate code, but instead applies a very strict check to as many aspects of a program as can be verified at compile and load time. It detects type mismatches, inconsistent argument usage, used or apparently uninitialized variables, potential portability issues, and the like." this is the ultimate separation of concern. you can have original C type checking: "Existing compilers provide no run-time checking of array subscripts, argument types, etc." or you can have strong type checking (as strong as it gets), but it's up to you. more in a hippie manner, than in a ____ wing political manner, telling you what is good (therefore allowed) and what is evil (therefore forbidden). cheers

                              J 1 Reply Last reply
                              0
                              • K Kevin Marois

                                Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

                                If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

                                M Offline
                                M Offline
                                Mark Starr
                                wrote on last edited by
                                #15

                                Yes, I use a linter in some circumstances, usually just to provide a quick check on my code. I don’t assume I know and write everything correctly, so I’ll employ a tool to give it a ‘once over’ before testing or committing. I don’t always agree with the alerts/suggestions, but it makes me aware so I can make a conscious decision about it. I also use Jet Brain’s ReSharper when using the Visual Studio IDE, as it does real-time code evaluation (when I don’t agree with a rule, I just modify the configuration) Whether to use a linter or other code-analysis tool seems more like a personal preference: keep it in your toolbox, know how to use it, and use it when you want.

                                Time is the differentiation of eternity devised by man to measure the passage of human events. - Manly P. Hall Mark Just another cog in the wheel

                                1 Reply Last reply
                                0
                                • J jschell

                                  Static analysis tools do not provide any value in modern programming. When they were first invented compilers had almost zero effective error reporting so using a second tool with pattern matching to find those before compilation seemed like a good idea. The authors or companies pushing them often claim benefits that do not exist. Bugs in software which are actually significant, where significant means costing time (and thus money) to fix come from logic errors and system errors which static analysis tools cannot identify by their very nature. Adherence to static analyzers can actually end up creating code that is not as easy to maintain and even end up introducing bugs. This happens when developers just try anything to get it to pass. The argument proponents make about that problem is that developers should be more diligent. But of course the same argument applies to why one might claim that a static analyzer is a good idea in the first place. Why are those very same diligent developers being nit-picked in the first place?

                                  J Offline
                                  J Offline
                                  Jeremy Falcon
                                  wrote on last edited by
                                  #16

                                  jschell wrote:

                                  Static analysis tools do not provide any value in modern programming. When they were first invented compilers had almost zero effective error reporting so using a second tool with pattern matching to find those before compilation seemed like a good idea.

                                  Strongly disagree. I've learned a ton about the quirks of a language, etc. just by using them. Here's an example in JavaScript, always explicitly setting the radix for parseInt. A static analyzer will tell you why you should do that.

                                  Jeremy Falcon

                                  H J 2 Replies Last reply
                                  0
                                  • J jschell

                                    Static analysis tools do not provide any value in modern programming. When they were first invented compilers had almost zero effective error reporting so using a second tool with pattern matching to find those before compilation seemed like a good idea. The authors or companies pushing them often claim benefits that do not exist. Bugs in software which are actually significant, where significant means costing time (and thus money) to fix come from logic errors and system errors which static analysis tools cannot identify by their very nature. Adherence to static analyzers can actually end up creating code that is not as easy to maintain and even end up introducing bugs. This happens when developers just try anything to get it to pass. The argument proponents make about that problem is that developers should be more diligent. But of course the same argument applies to why one might claim that a static analyzer is a good idea in the first place. Why are those very same diligent developers being nit-picked in the first place?

                                    C Offline
                                    C Offline
                                    chrisseanhayes
                                    wrote on last edited by
                                    #17

                                    i agree. using a linter for suggestions is great, being bound to its 'rules' isn't. code reviews would be better, some type of paired programming would be better. If the code compiles, then a linter may interfere with the writer's intentions. If the code compiles and it wasn't the writer's intention, then having a second eye is better than a linter. AND if someone is writing code that requires linting I would think that person shouldn't be writing code. I've never been happy with linters; they force you to write code according to someone else's style. If we're just using linters to 'teach' people how to write code then that person probably shouldn't be writing code. like the quote from Ratatouille cartoon, "Anybody one can cook, but not anyone should cook"

                                    J 1 Reply Last reply
                                    0
                                    • K Kevin Marois

                                      Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

                                      If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

                                      M Offline
                                      M Offline
                                      megaadam
                                      wrote on last edited by
                                      #18

                                      We use linters&static code analysis for C++, Go and Python. I love them all. For all three they increase readability. For C++ they even catch potential bugs, such as memory leaks. For C++ we also have clang-format to remove hand editing.

                                      "If we don't change direction, we'll end up where we're going"

                                      J 1 Reply Last reply
                                      0
                                      • K Kevin Marois

                                        Just curious, how many of you have heard of & used Linter? [What Is a Linter? Here's a Definition and Quick-Start Guide](https://www.testim.io/blog/what-is-a-linter-heres-a-definition-and-quick-start-guide/)

                                        If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

                                        K Offline
                                        K Offline
                                        Kirk 10389821
                                        wrote on last edited by
                                        #19

                                        I use plpgsql_check which is a linter for PostgreSQL. It's been amazingly helpful in reviewing code for mistakes and other warnings (like applying a conversion to an indexed column, as opposed to the other variable! The former (it tells you) will prevent the index from being used!) NICE! Of course, working with converted code... I was not thrilled with the first 35,000 errors, warnings and hints! LOL But after clearing them, I feel MUCH better about the converted code!

                                        J 1 Reply Last reply
                                        0
                                        • K Kevin Marois

                                          From what I can see, all we're using it for is ensuring code formatting is correct. So now I have to go back and remove extra lines, or empty spaces at the end of line, etc. Seems like a real time waster to me

                                          If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.

                                          H Offline
                                          H Offline
                                          honey the codewitch
                                          wrote on last edited by
                                          #20

                                          Most of the open source projects I've contributed to have a code formatting script that will do that part for you.

                                          To err is human. Fortune favors the monsters.

                                          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