- 1
Афганистан заебал.
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
Афганистан заебал.
+2
class IntIter {
constructor(private i = 0) {}
next() {
type retType = [value: typeof this.i, done: boolean];
if (this.i < 10) {
return <retType>[this.i++, false];
}
return <retType>[this.i, true];
}
}
function main() {
let it = new IntIter();
for (const o of it)
{
print(o);
}
for (const o of "Hello")
{
print(o);
}
}
добавил поддержку ForOf для ES2015 и ES3; причем компилятор сам определяет какой вариант лучше юзать
0
function ToggleClients(id, translit)
{
long_clients = document.getElementById(id);
elemID = translit + '_short_clients';
button = document.getElementById(elemID);
long_clients.style.display = "";
button.style.display = "none";
return false;
}
function ToggleClients2(id, translit)
{
long_clients = document.getElementById(id);
elemID2 = translit + '_long_clients';
button = document.getElementById(elemID2);
long_clients.style.display = "";
button.style.display = "none";
return false;
}
Компания делает рейтинги других компаний.. имеет в своих сорцах такое.. а судьи кто?
0
enum En {
A,
B,
C,
D = 4200,
E,
}
enum En2 {
D0 = En.D,
D1,
D2 = 1,
}
function main()
{
const a = En.A;
print (a, En.B, En.C, En.D);
print (En2.D0, En2.D1, En2.D2);
}
output: >>
0 1 2 4200
4200 1 1
Ну что.. учись "С" как enum-ы делать надо....
0
// Приведение численного типа к структуре с битовыми полями
template <class STRUCT_T, typename T>
STRUCT_T struct_cast(const T n)
{
static_assert(std::is_integral<T>::value, "Integral type required as T");
static_assert(std::is_class<STRUCT_T>::value, "class or struct type required as STRUCT_T");
static_assert(sizeof(T) == sizeof(STRUCT_T), "Incompatible types passed");
return *(reinterpret_cast<const STRUCT_T*>(&n));
}
// Приведение структур с битовыми полями к численному типу
template <typename T, class STRUCT_T>
T integral_cast(const STRUCT_T& s)
{
static_assert(std::is_integral<T>::value, "Integral type required as T");
static_assert(std::is_class<STRUCT_T>::value, "class or struct type required as STRUCT_T");
static_assert(sizeof(T) == sizeof(STRUCT_T), "Incompatible types passed");
return *(reinterpret_cast<const T*>(&s));
}
Почему это UB?
+1
//Генерация уровня из файла
void mapGenerate()
{
float x = 0.72f, y = -0.72f; //Координаты игрового объекта
byte i = 0, j = 0; //Цифровые координаты игрвоого объекта
while (y >= -5.76f)
{
while (x <= 5.76f)
{
if (map[i, j] % 8 == 1) //Если игровой объект - точка спавна игрока
{
player.transform.position = new Vector3(x, y, 0);
playerX = j;
playerY = i;
}
else if (map[i, j] % 8 == 5) //Если игровой объект - точка спавна врага
{
enemy.transform.position = new Vector3(x, y, 0);
enemyX = j;
enemyY = i;
//print("Enemy: " + enemyX + " " + enemyY);
} else if(map[i, j] % 8 == 6) //Если игровой объект - собираемый предмет
{
EventManager.Instance.colls[0]++; //Увеличивается количество собираемых монет на уровне
mapObj[i, j] = Instantiate(entities[map[i, j] % 8], new Vector3(x, y, 0), Quaternion.identity);
}
else if (map[i,j] % 8 != 0) { //Для остальных игровых объектов
mapObj[i,j] = Instantiate(entities[map[i, j] % 8], new Vector3(x, y, 0), Quaternion.identity);
}
x += 0.72f;
j++;
}
y -= 0.72f;
x = 0.72f;
j = 0;
i++;
}
}
//Считывание данных об уровне
void readLevelFile()
{
string path = "";
FileStream fs = null;
BinaryReader br = null;
if (Application.platform == RuntimePlatform.WindowsEditor)
{
path = Application.dataPath;
path = Path.Combine(path, "Levels");
path = Path.Combine(path, levelFile);
fs = new FileStream(path, FileMode.Open);
br = new BinaryReader(fs);
head = br.ReadBytes(8); //Чтение заголовка файла
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
map[i, j] = br.ReadByte(); //Чтение кода игрового объекта
}
}
br.Close();
fs.Close();
} else if (Application.platform == RuntimePlatform.Android)
{
byte[] file = null;
path = "jar:file://"+ Application.dataPath + "!/assets/Levels/"+levelFile;
www = new WWW(path);
while (!www.isDone) { }
if (!string.IsNullOrEmpty(www.error))
{
Debug.LogError("Can't read");
}
file = www.bytes;
for (int i = 0; i < 8; i++)
{
head[i] = file[i];
}
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
map[i, j] = file[j + i * 8 + 8]; //Чтение кода игрового объекта
}
}
www.Dispose();
}
Из кода собственной аркады на Unity 2017-ого года. Неоправданные байто*бские оптимизации, взаимодействие между модулями через десяток глобалов, магические константы не зафиксированные в именах кода, куча хардкода. И ето из модуля для генерации уровня. В модуле для управления событиями код страшнее.
+1
.
https://vc.ru/flood/149783-podgotovte-nomer-pablik-steytik-dzhava-tochka-pomoshchnik-oleg-zachital-sboy-vo-vremya-testa-v-koll-centre-tinkoff
+3
Как известно, язык C# придумал Андерс Хейлсберг. В связи с этим, на первых порах его жутко атаковали журналисты, в попытке снять интервью.
Делали они это столь навячиво, что обычно вежливый и корректный Хейлсберг стал грубым и несдержанным. Он избегал журналистов, но они не отставали.
Однажды его подстерегли в метро - он едва смог вырваться из назойливой толпы, - затем его почти сразу прижали в переулке.
-Господин Хейлсберг, пару слов для издания КомпНьюс...
-Пошли на хуй, - прошептал Андерс, ускорив шаг. В ту же минуту его затерла толпа и на него упал яркий свет.
-Прямой эфир!
Андерс замялся. Уйти из кадра было бы несложно, но это могло сказаться на репутации. Кинооператор уже наставил камеру.
Из толпы вышел наиболее задиристый человек с микрофоном.
-Скажите, господин Хейлсберг, почему Вы добавили в это говно столько сахара? Почему не сделали его ванильным - как Делфи?
-Потому, что глупо добавлять ванилин в говно, которое будут пробовать на вкус, огрызнулся Хейлсберг, и, тяжко размахнувшись, ударил по объективу дипломатом.
−1
def loadDevices(list_devices, db_name, db_user, db_host, db_password):
"""Загрузка устройств из базы данных"""
psql = ClassPSQL(db_name, db_user, db_host, db_password, db_port)
for group in psql.get("SELECT * FROM user_groups"):
group_id, _, _, available_devices = group
if (group_id != 0) and (available_devices != None):
for device in parceDeviceStr(available_devices):
if (findDevice(list_devices, int(device)) == None):
local_res= psql.get("SELECT * FROM device WHERE logic_id=" + str(device))
if len(local_res):
dev_id, _, port = local_res[0]
list_devices.append(ClassDevice(int(device), str(dev_id), int(port)))
findDevice(list_devices, int(device)).addGroupID(int(group_id))
else:
findDevice(list_devices, int(device)).addGroupID(int(group_id))
for device in psql.get("SELECT * FROM sm_devs"):
dev_id, logic_id, port = device
if (findDevice(list_devices, int(logic_id)) == None):
list_devices.append(ClassDevice(int(logic_id), str(dev_id), int(port)))
list_devices = sorted(list_devices, key=lambda device: device.getLogicID())
return list_devices
------------------------------------------
class ClassGroupDevices(object):
... много методов ...
def save(self):
"""Сохранение группы устройств в postgres"""
str_logic_ids = ""
for logic_id in self.getLogicIDs():
if (len(str_logic_ids) > 0):
str_logic_ids += "," + str(logic_id)
else:
str_logic_ids = str(logic_id)
if (self._psql.get("SELECT subgroup_id FROM us_dev_sgr WHERE (group_id='%s' and name='%s')" % (str(self.getGroupID()), self.getName()))):
self._psql.set("UPDATE us_dev_sgr SET logic_ids='%s' WHERE (group_id='%s' and name='%s')"\
% (str_logic_ids, str(self.getGroupID()), self.getName()))
else:
self._psql.set("INSERT INTO us_dev_sgr (group_id, name, logic_ids) VALUES ('%s', '%s', '%s')"\
% (str(self.getGroupID()), self.getName(), str_logic_ids))
------------------------------------------
class ClassSchedule(object):
... много методов ...
def save(self, psql, list_devices:list, conf, timezone:int, schedule_id:int = 0):
assert(isinstance(psql, ClassPSQL))
assert(isinstance(list_devices, list))
# assert(isinstance(conf, INIConfigLoader))
assert(isinstance(timezone, int))
assert(isinstance(schedule_id, int))
for date in self._list_date:
for logic_id in self._list_devices:
local_device = findDevice(list_devices, logic_id)
local_port, local_value = local_device.liquidity(self._action, conf, psql)
date_time = datetime.datetime.strptime(date + " " + self._time, "%d.%m.%Y %H:%M") - datetime.timedelta(hours = timezone)
psql.set("INSERT INTO device_exec_schedule (logicid, time, subgroup, port, value, group_id, answer) VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s')" %
(str(logic_id), date_time, schedule_id, str(local_port), str(local_value), str(self._groups_id), "0"))
Была дана задача сишнику не знавшему Python написать сайт на Django за 4 дня. Знаете что? Он написал. (Названия таблиц в коде изменены, но смысл сохранён). Поддерживать код дали мне. А этот код из недр
0
Если Число(Сред(Строка(НачПериода),4,2)) <> Число(Сред(Строка(КонПериода),4,2)) Тогда
Предупреждение("Нельзя брать период с разными месяцами!!!");
Возврат;
КонецЕсли;
Мне так не дано писать код :-)