СВОЯ АТМОСФЕРА Наша работа в высшей степени сложна. Редко кто даст тебе готовый рецепт, в лучшем случае подскажут направление поиска. Поэтому нужно рассчитывать только на свою остроту ума, изворотливость и смекалку, способность к нестандартным ходам. То есть твои эволюционные преимущества. Волшебные практики из мира ИТ не работают - скрамы, стендапы, митинги, тикеты, рецензии кода и прочие карго-культы с серебряными пулями. Недостаточно просто "делать правильно" и рассчитывать на результат. Мысли критически и применяй лишь то, что удачно. У нас нет рамок и нет людей-функций. Ценится ум и находчивость. Над душой никто не стоит. Оценивают только результат. Оператор goto разрешен и широко применяется. Используются любые хаки, ведущие к цели. Цель всегда оправдывает средства. Нету запрещенных приемов, есть только неэффективные. Хороший код тот, который решает задачу. Хорошо, конечно, если он не слишком кривой и достаточно понятный, но мы разберемся и так. Стилистически красивый, но не решающий задачу код не нужен. Нужен решающий задачу код, потому что решенная задача - это деньги, твои и мои. Раз уж мы за код зашли, то вот что мы считаем хорошим тоном: * простота как для тупого. Нахрен восьмиэтажные конструкты и модные фичи ради модных фич (если конечно без них никак). Пиши просто, как можно проще. * Всегда объясняй _намерения_ кроме _методов_. У нас много магии используется. Объясняй все по максимуму, развернутыми комментами. Надо писать не только "что я делаю", а в первую очередь "зачем я делаю". плохо // аллоцируем память в удаленном процессе и запускаем шелл-код хорошо // нам нужно снять хуки на такую-то функцию в удаленном процессе, потому что иначе не заработает то и это // поэтому аллоцируем память в удаленном процессе и запускаем шелл-код, который взят вот отсюда с гитхаба https://... // шелл-код отыщет такие-то байты в прологе такой-то функции и пропатчит их на нужные нам. // были еще варианты раз (ссылка) и два (ссылка), но они не подходят, т.к. плохо отрабатывают на таких-то системах * лучший код тот, которого нет (не пиши лишнего) Не делай заделы на годы вперед. "Завтра" может не настать, и задел никому не понадобится. "завтра" окажется, что ты не угадал. Лаконичность, минимализм - наше все. Бритва Оккама отсекает все, даже ООП. * нет смысла писать код, если он кем-то уже написан. Перед тем как писать, поищи в Сети. Если ты взял чужой код, обязательно воткни в исходники линк, откуда он взят. Вследствие этого у нас простая лицензионная политика - ее нет. Попроси чужое демо и отреверси его, чтобы узнать как оно работает. В половине случаев по характерным вызовам и паттернам можно найти статью или исходники на эту тему. Но учти, что так же могут поступить и с твоим кодом - как от этого защититься описано в другом тексте. * терпимость Без особой просьбы твое мнение о чужом коде и методах работы не нужно. У каждого свой стиль и почерк. Он или добился, или не с нами. *** У нас свобода, насколько она вообще достижима. Если ты даешь результат, то можешь делать все что угодно. Можешь нанять кого-то, кто напишет за тебя, купить или украсть. Самое важное - довести дело до конца.