Comments 10
Единственное место, где я видел использование меток и блоков кода был wtfjs.com
function f1(f,t) { t:{ f(t) } }
В JS и так, имхо, уровней и скобок многовато часто получается, а вы еще предлагаете… И неоднозначноть со областями видимости (не все пишут только на JS).
Чем хуже?
Backbone.View.extend({
initialize: function () {
// Model Events
this.model.on('change', this.render);
this.model.on('add', this.onAdd);
this.model.on('change:type', this.onResetType);
// App Events
app.subscribe('reload', this.render, this);
app.subscribe('remove', this.remove, this);
app.subscribe('vodka', this.drink, this);
}
});
Чем хуже?
Поддерживаю это мнение. Комментарием проще обозначить смысл кода, чем меткою ко блоку, ещё и потому, что в комментарии можно употреблять какие угодно символы (а не только допустимые при записи идентификаторов), так что язык его бывает более естественен. Притом блок нужно обрамлять с двух сторон фигурными скобками, тогда как комментарию достаточно одной строки (его собственной), как правило; если же комментарий всё же получается длинным, то его можно сделать многострочным, тогда как с меткою это далеко не просто сделать.
Поддерживаю оба мнения. Еще о блоках в JavaScript многие просто не знают и при виде
возникнет вопрос «эээ что это??? а так можно?» и человеку придется разбираться. Сегодня как правило, во всех ЯП большие блоки «именуют» путем выноса в отдельную функцию. Вы же не пишете код для себя ;-)
MyBlock: {
console.log('This is MyBlock');
}
возникнет вопрос «эээ что это??? а так можно?» и человеку придется разбираться. Сегодня как правило, во всех ЯП большие блоки «именуют» путем выноса в отдельную функцию. Вы же не пишете код для себя ;-)
Если вам хочется сплошной кусок кода разбить на блоки, а тем более уровни, то это отличный индикатор того, что вы что-то делаете не так.
Меня эти метки скорее запутывают.
Если необходимо разбить кусок кода, то обычно одной пустой строки хватает, чтобы разделить логически их. Да и комментарии никто не отменял.
p.s. у меня при виде различного рода «меток» начинается паника, после того как в своё время допиливал чужой C++ код с кучей goto )=
Если необходимо разбить кусок кода, то обычно одной пустой строки хватает, чтобы разделить логически их. Да и комментарии никто не отменял.
p.s. у меня при виде различного рода «меток» начинается паника, после того как в своё время допиливал чужой C++ код с кучей goto )=
Тоже самое работает во многих языках, например, в Java и PHP:
public class HelloWorld{
public static void main(String []args){
{
System.out.println("Block 1");
label: {
System.out.println("Block 2");
}
}
}
}
// Output
// Block 1
// Block 2
<?php
{
echo 'Block 1'.PHP_EOL;
{
echo 'Block 2'.PHP_EOL;
}
label: {
echo 'Block 3'.PHP_EOL;
}
label2:
echo 'Block 4'.PHP_EOL;
}
// Output
// Block 1
// Block 2
// Block 3
// Block 4
> Суть мысли, или даже вопроса — почему никто (встречавшийся мне) не использует блоки кода в своих JavaScript приложениях?
На самом деле блоки кода в своих приложениях используют все программисты, потому что блоком является именно выражение заключенное в фигурные скобки, а значит когда вы пишете даже простейший if, вы используете блок.
Другое дело, что в использовании блоков самих по себе без какого-то предстоящего перед ними выражения нет особого смысла, потому что способов группировки — масса.
Мне кажется тут надо следовать правилу «Бритва Оккама» — не надо плодить лишние сущности без надобности.
На самом деле блоки кода в своих приложениях используют все программисты, потому что блоком является именно выражение заключенное в фигурные скобки, а значит когда вы пишете даже простейший if, вы используете блок.
Другое дело, что в использовании блоков самих по себе без какого-то предстоящего перед ними выражения нет особого смысла, потому что способов группировки — масса.
Мне кажется тут надо следовать правилу «Бритва Оккама» — не надо плодить лишние сущности без надобности.
Единственное, пожалуй, применение этих самых блоков — фолдинг кода.
Sign up to leave a comment.
Блоки в JavaScript