Giter VIP home page Giter VIP logo

Comments (4)

bombsimon avatar bombsimon commented on July 27, 2024 1

I don't think I agree here, it still doesn't separate control flow which is the intent here. Also in general cuddling anything with another block (a closing }) feels like something against the wsl philosophy.

But either way, as noted in #110 I'm more likely to drop this rule completely since it overlaps with nlreturn. I won't close this because I haven't decided yet.

from wsl.

bombsimon avatar bombsimon commented on July 27, 2024 1

Both of these are valid:

if err != nil {
    return 0, err
} else {
    return 1, nil
}
if err != nil {
    return 0, err
}

return 1, nil

Just because something fits in an else block does not mean I want to reduce separation of control flow. The point of this rule is similar to the philosophy of nlreturn and for any non single line function wsl will require an empty line.

The ticket mentions to read any bracket as an empty line even though the example is for error checking. I think that's also against the idea with wsl since that would allow something like this which is one of the most important rules in my opinion:

if expr {
     //
}
if expr {
    //
}

I will close this as wontfix but feel free to add more context or thoughts if you think this would fit wsl or if I misinterpreted your thoughts here.

from wsl.

jtagcat avatar jtagcat commented on July 27, 2024

For the first example, I think I could agree with you, but for the second, the control flow, is like this:

	if err != nil
		return nil, err
	} else { // this
		return
	} // this

^ I would say the second return is part of the same flow.

from wsl.

jtagcat avatar jtagcat commented on July 27, 2024

I disagree with my OP, you are right. Thanks

from wsl.

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.