Comments (3)
The pipe operator is not the nicest player when it comes to indentation based on factor 2, since it leads to 3 spaces in front of the statements.
123↓
|> Foobar
not working, if "aligned" to above statement
(3 spaces vs. 2 or 4 spaces)
|> sorry
123↓
|> Foobar
not working, because we are off by 1 to above
and are actually introducing 4 space intendation
|> sorry
How do I avoid such mess? In multiline pipes with multiline functions I always extract the functions, because they already distract the visual flow for the pipeline.
So personally I don't even care so much, if there was a guideline for multiline pipelines with necessary indentation, because I have the feeling that such pattern is already a bad one (like a code smell). But again, this is just my opinion.
from elixir_style_guide.
In your pipes example and the one you link to for
is only further indented by one space instead of two. Does that seem odd to anyone else?
from elixir_style_guide.
Multiline pipeline syntax should now look like:
File.stream!("path/to/some/file", read_ahead: 100_000)
|> test()
|> test(fn line ->
for word <- String.split(" "), do: {word, 1}
end)
from elixir_style_guide.
Related Issues (20)
- camelCase vs PascalCase HOT 3
- Add preference for long args/`when` in methods? HOT 3
- Does the formatter make this obsolete? HOT 3
- Missing a section about maps HOT 5
- @module_attribute should be moved higher in Module attribute ordering HOT 1
- Establishing Guidelines for Maximizing Anonymous Function Readability in Reference to Escaped and Expanded Notations HOT 3
- Suggestion on Module Attribute Ordering HOT 1
- Thoughts on public/private function ordering HOT 4
- Deeply nested one-arity function calls? HOT 2
- new issue
- Placement of defguard? HOT 1
- using pipe with only 2 functions HOT 1
- Pipeline with single pipe operator for common cases like Enum.map/reduce/filter HOT 3
- Nested defmodule HOT 5
- Macro calls placement in a module HOT 1
- Naming: Modules HOT 1
- Clarification on multiline defs HOT 3
- cómo utilizamos?
- Racionalfor choice
- Broken Link HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elixir_style_guide.