Giter Club home page Giter Club logo

Comments (6)

verdammelt avatar verdammelt commented on September 25, 2024

There may be a linter for Common Lisp but there is not one 'standard' one like there are for other languages. Implementations of Common Lisp often produce their own warnings and messages as the source code is read and evaluated. For example SBCL (the implementation I primarily use) is known for its good style and compilation messages.

from common-lisp.

kytrinyx avatar kytrinyx commented on September 25, 2024

Kind of random question--have you heard of lisp critic? Someone I know is pretty excited about it.

from common-lisp.

wobh avatar wobh commented on September 25, 2024

This "Lisp Critic" http://cs.northwestern.edu/academics/courses/325/exercises/critic.php ?

Pluses: it's by Chris Riesbeck whose Lisp-Unit tests we already use and whose class syllabus we recommend in our documentation, which is full of great stuff.

Minuses: None immediately evident.

We'll have to try it out. A quick scan of it's source code http://cs.northwestern.edu/academics/courses/325/programs/cs325/lisp-critic.lisp suggests there are a few known limitations, so it might be that SBCL's style warnings are sufficient or perhaps even better, while it might still be useful for someone using another implementation. We could perhaps add links to any or all of these resources

Not quite on style but emergently useful working with this topic:

from common-lisp.

kytrinyx avatar kytrinyx commented on September 25, 2024

Yeah, the Chris Riesbeck one.

I just followed some of your links. I love this:

Bad names reduce code maintainability. Names are bad when they are:

  • cryptic, e.g., bltx
  • hopelessly vague, e.g., data
  • overly verbose, e.g., first-item-to-delete
  • misleading, e.g., num for something that holds a list of numbers

Good names are:

  • short
  • plain English or follow common convention
  • accurate

Anyway, yeah, I think that it could be useful to link to these things.

from common-lisp.

verdammelt avatar verdammelt commented on September 25, 2024

@wobh These look like good resources. Lisp Critic seems to be a function which you pass a symbol bound to a function. If we wanted to we could probably build that in to the test files - but only for the exported functions. Now that I type that I doubt that it would be useful (unless it descends to functions called by the function provided).

@kytrinyx your formatting caused the "good" items to flow in with the "bad" items - scanning it this morning before coffee I was very confused by 'short' & 'accurate' where signs of bad names! :)

I've been "away" from this track for a while but am trying to come back; these links could go in the SETUP.md file that all the tracks are going to have.

from common-lisp.

kytrinyx avatar kytrinyx commented on September 25, 2024

d'oh! Fixed :)

from common-lisp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.