А вы тут не плюсуйте, это слишком локальная тусовка; если пишете на PHP, присоединяйтесь к стандарту, который я упомянул, давайте опишем его нормально, сделаем стиль для кодснифера и тому подобное :-)
Глобальная константа там всего одна — это версия скрипта, ну вы серьёзно?!
Первая дока на русском языке преднамеренно, потому что предназначена для русскоязычной аудитории (поэтому и пост на Хабре, а не на чём-то англоязычном, хотя я и говорю по-английски). Если будет время (у меня ещё есть работа) — будет дока и на других языках.
По поводу композер-пакета полностью согласен — можно сделать.
В этом и смысл великолепного продукта, коим несомненно является джетбрейновская Идея.
Сделать логичное поведение полностью прозрачным, чтобы пользователь даже не задумывался о нём.
И таких мелочей в нормальных IDE тысячи.
Ну это, вроде как, настраивается. Проверить поведение бекспейса можно добавив „лишних“ отступов. В конец предыдущей строки курсор попадает, только если он находится на текущем или меньшем уровне вложенности. Если на большем, то редактор просто убирает один уровень вложенности.
Короче, аргумент про „много раз бекспейс“ — не аргумент.
php (Sublime) — как это здорово выделить несколько строк кода нажать tab и он весь сместится…
с пробелами такое не прокатит…
Не понимаю, как можно на полном серьёзе разрабатывать в текстовом редакторе, но вступлюсь тут.
Текстовый редактор обязан при выделении нескольких строк и нажатии [Таба] уметь увеличивать отступ у всех строк независимо от того, табы там выбраны для отступов, или пробелы.
В Идее (если для отступов выбраны стрёмные пробелы, конечно) при одиночном нажатии бекспейса попадаешь на уровень ниже.
В общем, я считаю, что проблема „нажимать много раз пробел или бекспейс“ вообще не стоит. Это всё должно решаться средой, если не решается — среда отстой.
Вы, наверное, не поняли исходный посыл текста. Там так и написано, что эти плюсы — ничто по сравнению с семантичностью (смыслом).
Второй плюс сходит на нет при использовании смарт-табуляции, потому что если будут заменены табы другими размерами, допустим с 4 до 2, то пробелы для выравнивания всё испортят
Смысл смарт-табуляции, как раз в том, что при изменении ширины таба выравнивание не портится.
Вы предлагаете более сложную систему, которая функционально полностью эквивалентна «пробельной» — зачем?
Ну разумеется, что она функционально не эквивалентна, а лучше: каждый разработчик может подстроить себе удобный вид для кода используя конфигурируемую ширину. У меня много коллег, например, сначала любили 4, а потом полюбили 2.
4 раза на пробел (или на бекспейс при удалении отступов) в средах разработки клацать уже давно не нужно, редакторы разворачивают нажатие на клавишу табуляции в нужное количество пробелов сами (если вы выбрали стиль кодирования с пробелами, конечно).
То, что вы описали вначале, называется смарт-табуляцией, да.
Я бы оценил :-)
Эээээ? Я не ставил, за что?
(Плюсанул, только не расстраивайтесь.)
А вы тут не плюсуйте, это слишком локальная тусовка; если пишете на PHP, присоединяйтесь к стандарту, который я упомянул, давайте опишем его нормально, сделаем стиль для кодснифера и тому подобное :-)
Норм!
О, круто, спасибо!
(А этот пост больше про алгоритм.)
Ну, по пунктам:
Этот код и так был написан за пару часиков.
По поводу PSR. Я использую PSR-2T — PSR-2 со смарт-табуляцией.
Для меня это дело принципа. Моё мнение по этому вопросу вот такое и пока что не менялось:
https://habrahabr.ru/post/308974/#comment_9783180
Глобальная константа там всего одна — это версия скрипта, ну вы серьёзно?!
Первая дока на русском языке преднамеренно, потому что предназначена для русскоязычной аудитории (поэтому и пост на Хабре, а не на чём-то англоязычном, хотя я и говорю по-английски). Если будет время (у меня ещё есть работа) — будет дока и на других языках.
Разумеется, главная идея — это показать алгоритм, а не код, вы правы.
Я не заморачивался с ООП, поэтому преднамеренно использовал слово „скрипт“ с самого начала.
Типизацию я сам люблю, у нас в компании почти запрещено использовать двойные равно.
Вы очень опасный человек.
Владимир Шахиджанян („Соло на клавиатуре“) сейчас негодует. Мизинцем же надо!
Ну, по сути, это идеальное решение, так, как оно должно работать.
Пока что имеем то, что имеем.
В этом и смысл великолепного продукта, коим несомненно является джетбрейновская Идея.
Сделать логичное поведение полностью прозрачным, чтобы пользователь даже не задумывался о нём.
И таких мелочей в нормальных IDE тысячи.
Ну это, вроде как, настраивается. Проверить поведение бекспейса можно добавив „лишних“ отступов. В конец предыдущей строки курсор попадает, только если он находится на текущем или меньшем уровне вложенности. Если на большем, то редактор просто убирает один уровень вложенности.
Короче, аргумент про „много раз бекспейс“ — не аргумент.
Не понимаю, как можно на полном серьёзе разрабатывать в текстовом редакторе, но вступлюсь тут.
Текстовый редактор обязан при выделении нескольких строк и нажатии [Таба] уметь увеличивать отступ у всех строк независимо от того, табы там выбраны для отступов, или пробелы.
В Идее (если для отступов выбраны стрёмные пробелы, конечно) при одиночном нажатии бекспейса попадаешь на уровень ниже.
В общем, я считаю, что проблема „нажимать много раз пробел или бекспейс“ вообще не стоит. Это всё должно решаться средой, если не решается — среда отстой.
Вы, наверное, не поняли исходный посыл текста. Там так и написано, что эти плюсы — ничто по сравнению с семантичностью (смыслом).
Смысл смарт-табуляции, как раз в том, что при изменении ширины таба выравнивание не портится.
Ну разумеется, что она функционально не эквивалентна, а лучше: каждый разработчик может подстроить себе удобный вид для кода используя конфигурируемую ширину. У меня много коллег, например, сначала любили 4, а потом полюбили 2.
Спасибо на добром слове. „Раз и навсегда“ не получится, думаю :-)
По поводу статьи чёрт его знает, репозиторием в Гитхабе, думаю, лучше.
4 раза на пробел (или на бекспейс при удалении отступов) в средах разработки клацать уже давно не нужно, редакторы разворачивают нажатие на клавишу табуляции в нужное количество пробелов сами (если вы выбрали стиль кодирования с пробелами, конечно).
То, что вы описали вначале, называется смарт-табуляцией, да.
Я не написал, что обязательно игнорируют разницу в белых символах, я написал, что умеют игнорировать.