
Denis
28.02.2018
11:25:49

elias
28.02.2018
13:36:12
Наступит ли то время, когда IDE/редакторы для языка D станут поддерживать рефакторинг "Change signature" и др.?

NullSanya
28.02.2018
13:38:32

Google

Denis
28.02.2018
22:07:13

Pavel
28.02.2018
22:08:45
Э, каким же это образом проще ручками? =)
Поменять сотню вхождений, вместо автоматического в один клик

Denis
28.02.2018
22:15:57

NullSanya
28.02.2018
22:20:16

Pavel
28.02.2018
22:23:05
grep/sed/awk?
Они же совсем не учитывают семантическую структуру, а просто по вхождению заменят. В отличие от IDE которая заменит только те названия, которые относятся к конкретной переменной.

Denis
28.02.2018
22:26:48
> и их установка не всегда гладко проходит.
А вот если добавят в 8 IDE каждый по своему - заживём!

Pavel
28.02.2018
22:27:59
Ну вот костыль же)

Denis
28.02.2018
22:28:01
Нужно такое бывает реже чем раз в месяц

Pavel
28.02.2018
22:28:14
Я довольно часто пользуюсь, правда не в D
Ну и еще многими другими фичами, умной навигацией и кодогенераторами

Google

Denis
28.02.2018
22:48:47
Кодогенераторы официально нинужны, потому что встроены в язык

Pavel
28.02.2018
22:51:42
Ну они же разные бывают
Не все можно заменить шаблонами

Denis
28.02.2018
22:52:06
не понял о каких ты тогда

Pavel
28.02.2018
22:52:50
Ну например сгенерить заглушки для всех методов класса, который реализует интерфейс

Denis
28.02.2018
22:53:23
зачем это может понадобиться?

Pavel
28.02.2018
22:53:33
Ну удобно же)
Пишешь class A : InterfaceA{} жмешь хоткей и у тебя автоматически набиваются все 100500 методов которые требует интерфейс. Остается пройти и тело вписать.

Denis
28.02.2018
22:54:55
1. зачем юзать такой хуёвый класс в котором 100500 методов?
2. если он требует это же не просто так?

Pavel
28.02.2018
22:56:08
2. Да, каждый интерфейс требует чтобы были реализованы все его методы. Но зачем их писать вручную если идешка может нагенерить сама.
1. Это уже в другой плоскости вопрос, методов может быть 10-12 но все равно их писать надо.
Или копипастить из интерфейса или глядя на него набивать все сигнатуры.

NullSanya
28.02.2018
22:56:57
Или реализовывать все свойства вручную
Тоже уныло

Pavel
28.02.2018
22:57:25
Ну да для некоторых тривиальных случаев идешка может и тело сама вписать какое-то, и документацию
Это только 1 пример из может 500 )
Когда таких мелочей много набирается то скорость разработки возрастает раза в полтора-два
Но даже не это, кодогенерация сильно нужна в языках для веб-формошлепов, потому что там надо писать много повторяющегося бойлерплейта. Если в программе надо думать в 10 раз больше чем писать код, то и не так это актуально. А вот навигация и быстрый перепрыг в место объявления метода - это прям критически важно
Чтобы при наведении мышкой всплывала подсказка, было видно откуда пришел этот метод - из миксина ли, из UFCS вызова ли, или из родительского класса или алиаса какого.

NullSanya
28.02.2018
23:03:42

Pavel
28.02.2018
23:08:09
Да, нужно.

Google

Pavel
28.02.2018
23:08:27
Но эта задачка ваще не из легких, даже не знаю кто ее может осилить кроме разработчика компилятора.
Ну или может автор либы которая делает синтаксический разбор кода в дерево

Denis
28.02.2018
23:15:48

Pavel
28.02.2018
23:16:15
Звучит как-то надменно )

Denis
28.02.2018
23:16:19
> надо писать много повторяющегося бойлерплейта.
в консерватории проблема же

Pavel
28.02.2018
23:16:35
Некоторые и D считают лишним хламом, и пишут на си всю жизнь

Denis
28.02.2018
23:16:39

Pavel
28.02.2018
23:18:05
Ну как-же, ответ.
> набивания проекта ненужным хламом
вообще какая-то абстрактная сентенция в вакууме. От любителей велосипедов видимо )

Denis
28.02.2018
23:18:52
генераторы кода и комментариев проходили уже, году в 95 во всяких борланд билдерах

Pavel
28.02.2018
23:19:34
Ну вот в вебе щас активно юзается очень
Это в общем то огромная промышленная часть современной разработки

Denis
28.02.2018
23:19:53
веб как мерило всего?

Pavel
28.02.2018
23:20:09
Не всего, а только 85% =)

Denis
28.02.2018
23:20:38
Всё прояснится если подстроку "веб" автоматически заменить на "вебмакакинг". вот такой бы инструмент я бы поддержал!

Pavel
28.02.2018
23:21:22
Ну што поделать, веб макакинг пришел и отнял весь хайп у низкого уровня
И если D хочет вылезти из ниши гиковского языка экспериментаторов, ему придется с этим жить.

Denis
28.02.2018
23:24:29

Pavel
28.02.2018
23:25:14
программисты на html бывают даже на си )

Google

Pavel
28.02.2018
23:27:08
Но опять же, это более менее естественный процесс. Лет 50 назад чтобы программировать надо был быть минимум кандидатом физ-мат наук, ну а дальше вся индустрия стремится снизить порог входа, чтобы программировать смог даже простой задрот с 5 курсами тех. вуза за спиной и 5-10 годами опыта.

Denis
28.02.2018
23:27:55
сделайте инструмент для идиота и только идиот будет им пользоваться (с) закон Мёрфи, кажется?
А если серьёзно то это иллюзия насчёт упрощения. просто чаще и чаще бывает выгодно пожертвовать всем (качеством скорсотью работы и т.д.) ради быстрого написания

Pavel
28.02.2018
23:28:44
А сверху тем временем идет тоже куча трудностей - всякие стеки технологий, километры документации, UML схемы, бизнес правила по 50 листов, массивы данных. И во всем этом надо шарить.
Иллюзия да, потому что см. выше мое сообщение. Код написать теперь это 5% от продукта.
И если программист будет тратить свое время на то чтобы грепать и переименовывать методы по исходникам то он умрет в конкуренции.

Denis
28.02.2018
23:30:49
короч, у всех свой мирок, похоже.

Pavel
28.02.2018
23:34:23
Есть немного, да
Но выживут не все :)
В любом случае, времена простого программирования, когда надо было держать в голове всего лишь под тысячу системных вызовов и пару сотен тысяч строк кода, безвозвратно ушли. Сейчас все жестче.

Denis
28.02.2018
23:35:46
https://www.reddit.com/r/programming/comments/7cuoih/compile_d_to_webassembly_using_ldc_betterc_and/ да вот уже оно, рядом
/me много лет назад приучил себя не помнить вообще ничего
голова не резиновая

Pavel
28.02.2018
23:37:04
Не помнить здорово, и IDE в этом еще больше помогает

Denis
28.02.2018
23:39:28
не пользуюсь ИДЕ

Pavel
28.02.2018
23:40:19
Ну разговор немного некоструктивен, надо чтобы каждый побыл в шкуре другого, поработал в предметной области, осознал бизнес-задачи.

Denis
28.02.2018
23:40:28
Нет не надо. Зачем заниматься плохим если даже на расстоянии видно что оно плохо и бесперспективно?

Google

Pavel
28.02.2018
23:41:24
не пользуюсь ИДЕ
Так может у тебя производительность как у черепахи. Какого рода софт ты пишешь? Насколько открытый, гибкий, как часто меняются требования? Как сильно его хотят и сколько готовы заплатить?
Я просто встречал людей в веб-макакинге, которые тоже отказывались от каких-то практик, не пользовались IDE, говорили что юнит и функциональные тесты не нужны. А потом работа с ними оказывалась настоящим адом, с сотнями багов и падающими серверами.

Denis
28.02.2018
23:43:24
Сейчас бэкенд пишу. "Открытый", "гибкий", "требования" слышал только от российских т.н. менеджеров, которые хотели платить поменьше.
Мне сказали что довольны мной. :з
IDE я не пользуюсь потому что не понимаю что она мне даст. А может пользуюсь, если Geany ситать IDE.

Pavel
28.02.2018
23:44:23
ну гини это уже микро-ide

Denis
28.02.2018
23:44:54
Мне короч такой редактор нравится в котором нет понятия "проект"
всё что к проекту относится пусть лежит где-то в Makefile
или в dub.sdl

Pavel
28.02.2018
23:46:10
Ну, это не напрямую относится к ide. Некоторые идешки просто дают открыть любую директорию и считая ее корнем проекта начинают шуршать, копать рекурсивно и перемалывать файлы с семантическую кашицу для переваривания.

Denis
28.02.2018
23:46:30
во во, такое мне по нраву

Pavel
28.02.2018
23:46:38
А потом начинают что-то советовать исходя из своих правил.

Denis
28.02.2018
23:46:54
просто потому что "проект" подразумевает кучу настроек, а т.к. я часто качаю с гитхаба то я просто устану всё настраивать
Да да, Geany так автокомплит делает - просто похожие на методы слова ищет в коде
И чсх, этого хватает.

Pavel
28.02.2018
23:47:51
Ну это работает в 80% случаев, но бывают и струдные случаи, когда есть куча одинкаовых классов и у каждого например метод ->getData()
И тут тебе надо в 5 из 80 классов этот метод переименовать по всему проекту.
Впринципе когда я в vscode себе подключил нормальный dcd, а не плоский текстовый анализатор, то автокомплит стал более лучше выдавать.
И еще теперь он прыгает в определение метода если зажать shift и навести на него мышкой, прям красота.

Denis
28.02.2018
23:49:46
потом попробовал собрать и исправил где сломалось
в день программист пишет 10 строк кода который останется жить долго, так что не проблема поработать руками - времени вагон.

Pavel
28.02.2018
23:51:05
Это какой-то низкоуровненый код. Бывает что и 500 строк можно написать