Во-первых, я согласен с тем, что в этой ситуации нет «Единого решения», и, во-вторых, я думаю, что это вопрос дизайна, а не технических проблем.Это правда, что иногда имеет смысл разделить строки такого рода на несколько строк, как в случае представлений HTML-кода, но иногда это не так, как в примере с URL, строкой HASH / SHA или даже абзацами.
Таким образом, первая попытка добавить опцию '/ * jslint maxlen: 130 * /' поверх вашего файла JS решит проблему, пропустив 'Line Too Long', проверив только этот файл.Но как насчет других строк в том же файле, которые тоже слишком длинные, но должны быть короче, в основном это справедливо для jshint.
Поскольку в большинстве случаев мы хотим сохранить строку такой, как есть,независимо от длины, связаны со строковыми представлениями, такими как URL, HASH, SHA и т. д., использование заполнителя может быть хорошим подходом.По сути, идея состоит в том, чтобы создать файл JS для их хранения и сделать его доступным через глобальную переменную.Затем вы можете просто вызвать его из любого сценария на вашем сайте, например, как используется jQuery (просто помните, что вам нужно загрузить файл-заполнитель перед сценариями, которые его используют).Преимущество этого решения в том, что вам нужно избегать этой проверки maxlen только в одном файле (на самом деле мы устанавливаем для maxlen очень большое число).
my_placeholder.js
/*jslint maxlen: 500 */
//Init the placeholder
MyFeature = MyFeature || {};
//Assign URL
MyFeature.productApiURL = ‘http://this.is.the.url.to/product/API/’;
//Assign a piece of TEXT
MyFeature.productTermsOfUseText = ‘This is a very long text about something that you want to explain regarding your product terms of use for example......;
//Assign an HTML fragment
MyFeature.successfulMessageHTML = ‘<div class=”message”><div class=”header”>Successfully created</div><div class=”detail”>some text showing the detail...</div></div>’;
//Assign a Regex to perform some validation
MyFeature.validEmailRegex = new RegExp(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
my_feature_related_file.js
//doing random awesome things
$.ajax({
url: MyFeature.productApiURL,
success: function() {
$(‘#message_container’).html(MyFeature.successfulMessageHTML);
}
});
//more awesome code here
Наконец, еще одна хорошая вещь в этом подходе заключается в том, что мы усиливаем семантическое значение этих длинных строк.Любой может понять, что MyFeature.productApiURL представляет API-интерфейс продукта URL или что MyFeature.successfulMessageHTML - это HTML-код успешного сообщения «Моя функция».В основном мы объясняем, что это означает в терминах домена (Успешное сообщение, API продукта, Действительный адрес электронной почты ...) и в каком формате представлен (HTML, URL, REGEX ...).
источник: http://moredevideas.wordpress.com/2013/09/16/line-too-long-on-jslint-and-jshint/