Генератор классов.

Инструменты для разработки

Генератор классов.

Сообщение 46165957 26 сен 2019, 17:13

Вчера набивал класс более чем с сотней переменных, и чет устал... нашкрябал такую себе помогалку:

Изображение

https://yadi.sk/d/_s1yRJki6FMgdg

Может сэкономит кому пару тройку часиков.
46165957
Старожил
 
Сообщения: 835
Зарегистрирован: 13 май 2011, 12:14

Re: Генератор классов.

Сообщение Jarico 26 сен 2019, 17:39

Ну и зачем? Типо обфускация?
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Генератор классов.

Сообщение 1max1 26 сен 2019, 17:54

Это для лентяев, чтобы в 3 раза меньше кода писать)
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Генератор классов.

Сообщение 46165957 26 сен 2019, 17:57

Jarico писал(а):Ну и зачем? Типо обфускация?


Когда расписываешь класс, на одну переменную два раза указываешь ее тип и четыре раза ее имя... задолбало просто ctrlc ctrlv жмякать. А так тип и имя вписал, а оно раскидалось, один раз скопипастил и норм. Допускаю, что это делается не так, и гораздо проще. Но вчера столкнувшись с тем, что нужно прописать несколько классов по сотне переменных, и парочку за три сотни, немного загрустил и вот...
46165957
Старожил
 
Сообщения: 835
Зарегистрирован: 13 май 2011, 12:14

Re: Генератор классов.

Сообщение 1max1 26 сен 2019, 17:59

46165957 писал(а):
Jarico писал(а):Ну и зачем? Типо обфускация?


Когда расписываешь класс, на одну переменную два раза указываешь ее тип и четыре раза ее имя... задолбало просто ctrlc ctrlv жмякать. А так тип и имя вписал, а оно раскидалось, один раз скопипастил и норм. Допускаю, что это делается не так, и гораздо проще. Но вчера столкнувшись с тем, что нужно прописать несколько классов по сотне переменных, и парочку за три сотни, немного загрустил и вот...

Что за классы такие? А как же массивы?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Генератор классов.

Сообщение 46165957 26 сен 2019, 18:02

1max1 писал(а):Что за классы такие? А как же массивы?


Увы, у истоков всего этого дерь...продукта, стоял не я. Хотя, к массивам со временем придём надеюсь )
46165957
Старожил
 
Сообщения: 835
Зарегистрирован: 13 май 2011, 12:14

Re: Генератор классов.

Сообщение Jarico 26 сен 2019, 19:16

46165957 писал(а):Когда расписываешь класс, на одну переменную два раза указываешь ее тип и четыре раза ее имя... задолбало просто ctrlc ctrlv жмякать


И в итоге путаница в коде будет... Сам же и забудешь какая переменная для чего предназначена... Делал так уже и в итоге пришлось заного проект строить
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Генератор классов.

Сообщение 46165957 26 сен 2019, 21:15

А как предлагаете? С гет/сет писанины поболее.
46165957
Старожил
 
Сообщения: 835
Зарегистрирован: 13 май 2011, 12:14

Re: Генератор классов.

Сообщение Jarico 26 сен 2019, 21:44

46165957 писал(а):А как предлагаете? С гет/сет писанины поболее.


причём тут они вообще?
Github: _https://github.com/redheadgektor
Discord: Конь! Чаю!#9382 (сижу редко)
YouTube: _https://www.youtube.com/channel/UCPQ04Xpbbw2uGc1gsZtO3HQ
Telegram: _https://t.me/redheadgektor
Аватара пользователя
Jarico
Адепт
 
Сообщения: 1084
Зарегистрирован: 06 янв 2019, 17:37
Откуда: 0xDEAD
Skype: none
  • Сайт

Re: Генератор классов.

Сообщение 46165957 26 сен 2019, 21:56

Jarico писал(а):
46165957 писал(а):А как предлагаете? С гет/сет писанины поболее.


причём тут они вообще?


Так а все таки? Есть класс, в котором гора переменных. Как вы прописываете конструктор, чтобы не писать по несколько раз?
46165957
Старожил
 
Сообщения: 835
Зарегистрирован: 13 май 2011, 12:14

Re: Генератор классов.

Сообщение 1max1 26 сен 2019, 22:28

46165957 писал(а):
Jarico писал(а):
46165957 писал(а):А как предлагаете? С гет/сет писанины поболее.


причём тут они вообще?


Так а все таки? Есть класс, в котором гора переменных. Как вы прописываете конструктор, чтобы не писать по несколько раз?

Боже 100 переменных в конструктор пихать? Это же километровая строка в редакторе))
Нужно знать принцип заполнения всей этой кучи, и при необходимости, можно юзануть рефлексию и заполнить все поля в 1 цикле, но опять же тут важна специфика, возможно такое не прокатит. А вообще скажи тому человеку, который все это придумал, что существуют массивы и неплохо было бы ими не пренебрегать.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Генератор классов.

Сообщение Woolf 27 сен 2019, 03:44

Есть класс, в котором гора переменных. Как вы прописываете конструктор, чтобы не писать по несколько раз?


Никак. Если возникает надобность в таком классе, я понимаю, что что-то пошло не так и нужно изменять логику программы. У меня есть что-то подобное на сервере, где хранятся переменные персонажа для квестовых заданий. Для этого я использую словарь Dictionary <string,int>. Понадобилось мне, например, узнать, чего там в переменной "dead_count", я и узнаю при помощи такого кода:

Синтаксис:
Используется csharp
Dictionary <string,int> qvariables;
    public int getQValue(string varname) {
        return qvariables.ContainsKey(varname) ? qvariables[varname].qvalue : 0;
    }
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Генератор классов.

Сообщение 46165957 27 сен 2019, 13:56

Woolf писал(а):Никак.

Расписывая конструктор даже на пяток переменных, мне проще написать их по одному разу, чем копипастить и править потом ;)

Woolf писал(а):Если возникает надобность в таком классе, я понимаю, что что-то пошло не так и нужно изменять логику программы

К сожалению, заказчик не всегда готов за это платить... более того, этот не колется - нахрена ему это нужно именно в таком вид. Вообще не уверен что он сам понимает что происходит... но там не достучаться.

Woolf писал(а):Понадобилось мне, например, узнать, чего там в переменной "dead_count", я и узнаю при помощи такого кода:

Синтаксис:
Используется csharp
Dictionary <string,int> qvariables;
    public int getQValue(string varname) {
        return qvariables.ContainsKey(varname) ? qvariables[varname].qvalue : 0;
    }

Сам поступаю чуть иначе, но весьма похоже.
46165957
Старожил
 
Сообщения: 835
Зарегистрирован: 13 май 2011, 12:14


Вернуться в Инструментарий

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1