Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Hed-kun

Программирование Т. 5

Рекомендованные сообщения

  2poy_nyasha написал 10.06.2013 в 08:01:
там проблема не в этом

 

я уже в принципе сделал то что хотел, но немного грязновато, ибо без класса UserItem

вообще непонятно зачем тебе этот юзерайтем сдался. поле с коллекцией айтемов у пользователя и колекция пользователей у айтема.

Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha
  rubish написал 10.06.2013 в 08:18:
  2poy_nyasha написал 10.06.2013 в 08:01:
вообще непонятно зачем тебе этот юзерайтем сдался. поле с коллекцией айтемов у пользователя и колекция пользователей у айтема.

так и сделал, просто это не красиво и не совсем удобно

Поделиться сообщением


Ссылка на сообщение
  2poy_nyasha написал 10.06.2013 в 08:25:
  rubish написал 10.06.2013 в 08:18:
так и сделал, просто это не красиво и не совсем удобно

что некрасивого то? когда тебе такой айтем нужен в отрыве от пользователя?

Колы я выросту - то хочу буты такым як я

5c8bbc85b99e.gif

 

годные смайлы

Поделиться сообщением


Ссылка на сообщение

нашёл тот самый файл скрипта на вбс

БД инклюдед

 

 

это охуенно

 

 

:pray:

хорошо что подобного плана функции мне так и не приходилось ни разу редачить

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha
  rubish написал 10.06.2013 в 08:31:
  2poy_nyasha написал 10.06.2013 в 08:25:
что некрасивого то? когда тебе такой айтем нужен в отрыве от пользователя?

не могу ответить, я сейчас не соображаю :)
  TheDeadSkin написал 10.06.2013 в 08:33:

нашёл тот самый файл скрипта на вбс

БД инклюдед

 

 

это охуенно

 

 

:pray:

хорошо что подобного плана функции мне так и не приходилось ни разу редачить

Показать больше  
это пять

Поделиться сообщением


Ссылка на сообщение
  2poy_nyasha написал 10.06.2013 в 06:48:

смотрите

 

есть база списка итемов и класс под нее Item

есть база пользовательских итемов но класса под нее нет

 

хотелось бы сделать под нее класс, чтобы приделать отношения к юзеру hasMany и belongsTo

 

как обозвать ее и как наследоваться?

Показать больше  

Нужно писать фабрику фабрик, очевидно же. :buba:

 

  TheDeadSkin написал 10.06.2013 в 08:33:

нашёл тот самый файл скрипта на вбс

БД инклюдед

 

 

это охуенно

 

 

:pray:

хорошо что подобного плана функции мне так и не приходилось ни разу редачить

Показать больше  

А ты случаем не из Самары? :hmm: А то я знаю одну контору в которой так пишут, зп там огромные, но работать там пиздец как невозможно :palevo:

Поделиться сообщением


Ссылка на сообщение
  DIMAN123456789 написал 10.06.2013 в 08:53:

А ты случаем не из Самары? :hmm: А то я знаю одну контору в которой так пишут, зп там огромные, но работать там пиздец как невозможно :palevo:

нет, я хохол

и этот код не я писал, это доработаный код дотабота под ггц бай sP.Might :pray:

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha

Хохлы пишут на шарпах

Бульбаши на Сях

Русские пьют водку и пишут на Java*

Поделиться сообщением


Ссылка на сообщение
  TheDeadSkin написал 10.06.2013 в 08:33:

нашёл тот самый файл скрипта на вбс

БД инклюдед

 

 

это охуенно

 

 

:pray:

хорошо что подобного плана функции мне так и не приходилось ни разу редачить

Показать больше  

вообще не вижу проблем vbs в этом коде - так же отвратиельно можно было на чем угодно написать


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
Гость 2poy_nyasha
  KotZhilkina написал 10.06.2013 в 09:20:
  TheDeadSkin написал 10.06.2013 в 08:33:

вообще не вижу проблем vbs в этом коде - так же отвратиельно можно было на чем угодно написать

а на раби слабо?

Поделиться сообщением


Ссылка на сообщение
  2poy_nyasha написал 10.06.2013 в 09:21:
  KotZhilkina написал 10.06.2013 в 09:20:
а на раби слабо?

ну на раби даже стараться не придется - главное слишком глубоко не погружаться, а то утонешь


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
  KotZhilkina написал 10.06.2013 в 09:20:
  TheDeadSkin написал 10.06.2013 в 08:33:

вообще не вижу проблем vbs в этом коде - так же отвратиельно можно было на чем угодно написать

я и не говорил, что вбс полное говно, я просто говорил о своих ассоциациях по-поводу вбс

это ультраотвратительно было бы на любом ЯПе, но синтаксис вбс добавляет "труднопонимаемости" этому коду

 

самое забавное что эта функция делает порядка 40 отдельных запросов в бд (многие из них тут не видно, они в вызываемых фунциях), хотя при правильном подходе можно было бы обойтись чуть ли не двумя/тремя

Поделиться сообщением


Ссылка на сообщение
  TheDeadSkin написал 10.06.2013 в 09:26:
  KotZhilkina написал 10.06.2013 в 09:20:

я и не говорил, что вбс полное говно, я просто говорил о своих ассоциациях по-поводу вбс

это ультраотвратительно было бы на любом ЯПе, но синтаксис вбс добавляет "труднопонимаемости" этому коду

 

самое забавное что эта функция делает порядка 40 отдельных запросов в бд (многие из них тут не видно, они в вызываемых фунциях), хотя при правильном подходе можно было бы обойтись чуть ли не двумя/тремя

сорок запросов, когда можно обойтись двумя - это явно не проблема синтаксиса vbs

 

при чем тут синтаксис vbs вообще?

 

циклы, условное ветвление, вызов функций, присваивание - ну просто охуеть как от других языков отличаются...

 

 

  Показать содержимое

 


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

потому что всё работает по-разному (в смысле альтернатив)

call function(arg1,arg2) ничем не отличается от function arg1,arg2

чем отличается variable = вызов от set variable = вызов я не понимаю до сих пор

объявления переменных тут наверное не было принципиально, брал и посреди кода писал buba = 0, всё збс, ты даже не узнаешь, что такая переменная уже где-то объявлена в теле скрипта, ошибок при компиляции не будет, а потом копайся почему через полдня работы бота сломалось что-то вообще не связанное с добавлением какой-то новой функции которая почти ничего вообще не делает, но одна из её переменных заменила какую-то глобальную

словесные end if end function тоже абсолютно никак не способствуют читаемости кода в условиях описаного выше ^

 

а главная проблема в том, что именно синтаксис вбс позволяет всю эту вакханалию с разными регистрами одних и тех же вызовов и операторов, разными формами вызова одних и тех же функций, и до тех пор пока язык разрешает весь этот бред его в принципе нельзя считать нормальным

 

да, у меня тоже пригорело

Поделиться сообщением


Ссылка на сообщение
  TheDeadSkin написал 10.06.2013 в 11:38:

потому что всё работает по-разному (в смысле альтернатив)

call function(arg1,arg2) ничем не отличается от function arg1,arg2

никакой мешанины нет: указал call - должны быть скобочки, опустил call - не должно быть скобочек.

 

  Цитата

чем отличается variable = вызов от set variable = вызов я не понимаю до сих пор

set - оператор присваивания для объектов и их свойств (ссылочные типы), = оператор присваивания для значимых типов.

 

  Цитата

объявления переменных тут наверное не было принципиально, брал и посреди кода писал buba = 0, всё збс

представляешь option explicit, нет во многих скриптовых языках

dim

 

  Цитата

ты даже не узнаешь, что такая переменная уже где-то объявлена в теле скрипта, ошибок при компиляции не будет

vbscript не компилируется

 

  Цитата
а потом копайся почему через полдня работы бота сломалось что-то вообще не связанное с добавлением какой-то новой функции которая почти ничего вообще не делает, но одна из её переменных заменила какую-то глобальную

public

private

 

  Цитата

словесные end if end function тоже абсолютно никак не способствуют читаемости кода в условиях описаного выше ^

используй табуляцию для индентации кода

 

  Цитата

а главная проблема в том, что именно синтаксис вбс позволяет всю эту вакханалию с разными регистрами одних и тех же вызовов и операторов,разными формами вызова одних и тех же функций,

это проблемы автора кода - никакой каши не будет, если ты определил некие правила и пишешь по ним

 

  Цитата
и до тех пор пока язык разрешает весь этот бред его в принципе нельзя считать нормальным

скриптовый интерпретируемый язык


Публикация отключена

Поделиться сообщением


Ссылка на сообщение
  KotZhilkina написал 10.06.2013 в 12:38:

никакой мешанины нет: указал call - должны быть скобочки, опустил call - не должно быть скобочек.

тролейбус_из_хлеба.жпг

какой вообще смысл в двух настолько банальных синтаксических конструкциях, которые имеют одинаковый результат?

  KotZhilkina написал 10.06.2013 в 12:38:

set - оператор присваивания для объектов и их свойств (ссылочные типы), = оператор присваивания для значимых типов.

допустим

  KotZhilkina написал 10.06.2013 в 12:38:

представляешь option explicit, нет во многих скриптовых языках

dim

  KotZhilkina написал 10.06.2013 в 12:38:

public

private

дим-хуим, я знаю синтаксис, это пусть и изначально было тупизмом делать полноценного бота с БД в стелсботе со скриптами на вбс (майту привет, я не знаю как он сам с ним работал), но с таким большим скриптом управиться стаёт немыслимо

 

и дело не в private/public, а в том, что я один раз обявил в теле скрипта переменную с названием которое уже использовалось в функции и работа моей функции для той переменной рандомно отваливалась без всяких на то причин, пока я случайно не пустил Ctrl+F по коду и не нашёл такое же название у локальной переменной в одной из старых функций

как тут можно вообще работать с чужим кодом? та даже и со своим, это нужно или наизусть знать все названия переменных, или на каждый пук бегать Ctrl+F по коду или каждой переменной вне функций (или в функциях, смотря где их меньше) нужно ставить префикс?

  KotZhilkina написал 10.06.2013 в 12:38:

используй табуляцию для индентации кода

это нихуя не помогает

  KotZhilkina написал 10.06.2013 в 12:38:

скриптовый интерпретируемый язык

на котором лучше по возможности ничего не писать

Поделиться сообщением


Ссылка на сообщение
(изменено)

перезапись глобальных переменных в подпрограмме - это недостаток не конкретного языка, а того, кто так пишет программы... в принципе, как и все остальные `проблемы`, описанные тобой сейчас

 

if (...)

{

...

}

else

{

...

}

 

одинаково противно с

 

if (...) then

...

else

...

end if


Изменено пользователем KotZhilkina

Публикация отключена

Поделиться сообщением


Ссылка на сообщение

визуальная структуризация

if (cstr(resultX)="2")
{
	coef=getgamecoef(gameid,false)
	sentexp=cint(Points_lose*coef)
	scouexp=cint(Points_win*coef)
	sentB=false
	scouB=true
	l=""
	bonuspoints=0

	set rs=conn.execute("SELECT p11,p12,p13,p14,p15,p21,p22,p23,p24,p25 FROM `games` WHERE id="&gameid)
	tteam1=0
	tteam2=0
	for (i=0 to 4)
	{
		team1(i+1)= (rs.fields(i))
		if (team1(i+1)<>0)
		{
			streak=getstreak("id:"&team1(i+1))
			if (streak>5)
			{
				'bonuspoints=bonuspoints+cint(streak*(Points_win/10))
				l=l&" ["&Streaks(streak) &"streak] of "&Id2Name(team1(i+1))&";"
			}
			tteam1=tteam1+1
		}
		team2(i+1)= (rs.fields(i+5))
		if (team2(i+1)<>0)
		{
			tteam2=tteam2+1
			'call addchat (vbwhite,"Scou.id="&team2(i+1))
		}
	}
	m="{|n}Sentinel: "
	for (i=1 to tteam1)
	{
		call addpoints("ID:"&team1(i),sentexp)
		call addscore("ID:"&team1(i),1,sentB)
		call freeuser("ID:"&team1(i),gameid)

		call addrep("ID:"&team2(i),Rep_Lose)
		m=m&Id2Name(team1(i))&" "
	}
	m=m&"{|n}Scourge: "
	for (i=1 to tteam2)
	{
		call addpoints("ID:"&team2(i),scouexp+bonuspoints)
		call addscore("ID:"&team2(i),1,scouB)
		call freeuser("ID:"&team2(i),gameid)
		call addrep("ID:"&team2(i),Rep_Win)
		m=m&Id2Name(team2(i))&" "
	}
	if (bonuspoints>0) m=m&". Scourges got "&bonuspoints&" BONUS points for breaking"&l
	call addcomment(gameid,m)
	call ann(LeagueName&gameid&". The Scourge have won! Exp: "&sentexp&"/+"&scouexp&", Rep: +"&Rep_Win&"/"&Rep_Lose&m)
	conn.execute("UPDATE `games` SET `END` = '"&timetointeger()&"', `result` = '"&resultX&"', `POINTS` = '"&abs(sentexp)&"' WHERE `id` ="&gameid)
}

неужели ты не считаешь что это куда более читаемо чем

 

оригинал того же участка кода?

 

ещё бы точки с запятыми сюда и можно было бы даже одну команду разбивать по строчкам для ещё большей читаемости больших строк

Поделиться сообщением


Ссылка на сообщение
(изменено)

"читаемость" кода - наверное самый последний фактор, который я бы рассматривал при выборе языка для решения конкретной задачи


Изменено пользователем Vovchique

Поделиться сообщением


Ссылка на сообщение

в вопросе выбора скриптовых языков так это точно не последний параметр

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...