Обновить

Комментарии 10

В 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 )=
Тоже самое работает во многих языках, например, в 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, вы используете блок.

Другое дело, что в использовании блоков самих по себе без какого-то предстоящего перед ними выражения нет особого смысла, потому что способов группировки — масса.

Мне кажется тут надо следовать правилу «Бритва Оккама» — не надо плодить лишние сущности без надобности.
Единственное, пожалуй, применение этих самых блоков — фолдинг кода.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации