mirror of
https://github.com/airbnb/javascript.git
synced 2026-01-14 11:38:03 -05:00
Reverse rule on string concatenation for long lines (#995)
Broken and concatenated long strings are painful to work with and produce less readable and searchable code. I think we should reverse this rule. Unfortunately, the max-len rule currently does not allow for this, but there is currently a proposal to add an option to ESLint's max-len rule that would allow for strings to be ignored. https://github.com/eslint/eslint/issues/5805 There have also been discussions around performance of string concatenation (https://github.com/airbnb/javascript/issues/40), but I don't think that is very relevant here so I removed the links to them.
This commit is contained in:
13
README.md
13
README.md
@@ -483,25 +483,24 @@ Other Style Guides
|
||||
```
|
||||
|
||||
<a name="strings--line-length"></a><a name="6.2"></a>
|
||||
- [6.2](#strings--line-length) Strings that cause the line to go over 100 characters should be written across multiple lines using string concatenation.
|
||||
- [6.2](#strings--line-length) Strings that cause the line to go over 100 characters should not be written across multiple lines using string concatenation.
|
||||
|
||||
<a name="strings--concat-perf"></a><a name="6.3"></a>
|
||||
- [6.3](#strings--concat-perf) Note: If overused, long strings with concatenation could impact performance. [jsPerf](http://jsperf.com/ya-string-concat) & [Discussion](https://github.com/airbnb/javascript/issues/40).
|
||||
> Why? Broken strings are painful to work with and make code less searchable.
|
||||
|
||||
```javascript
|
||||
// bad
|
||||
const errorMessage = 'This is a super long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.';
|
||||
|
||||
// bad
|
||||
const errorMessage = 'This is a super long error that was thrown because \
|
||||
of Batman. When you stop to think about how Batman had anything to do \
|
||||
with this, you would get nowhere \
|
||||
fast.';
|
||||
|
||||
// good
|
||||
// bad
|
||||
const errorMessage = 'This is a super long error that was thrown because ' +
|
||||
'of Batman. When you stop to think about how Batman had anything to do ' +
|
||||
'with this, you would get nowhere fast.';
|
||||
|
||||
// good
|
||||
const errorMessage = 'This is a super long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.';
|
||||
```
|
||||
|
||||
<a name="es6-template-literals"></a><a name="6.4"></a>
|
||||
|
||||
Reference in New Issue
Block a user