Первый и третий пункты просто следствия, не более того. А сам говнокод исходит из-за нежелания/невозможности написать код нормально, в частности, из-за незнания архитектуры проекта, стандартной библиотеки джавы и других критических "финтов ушами". И да, как следствие, еще можно добавить общую низкую поддерживаемость кода, сложный рефакторинг (например апинг на версию игры выше), плюс какие-то странные и неочевидные баги, которые можно повторить только при полной луне в нотрабре (такого месяца не существует, если что), пожертвовав 17 капель крови девственниц и 1 глаз единорога.Ну вот я для себя вывел 3 типа говнокода:
- ultra optimization, т.е. низкая производительность, утечки;
- кодим в одну строчку, т.е. отсутствие или непродуманность отступов, неинформативные/дезинформирующие названия и т.п;
- убил ножом с другого конца карты, т.е. взятые данные "с потолка" (ясное дело, если придумывать эти данные и потом их тестировать и балансировать для работы с другими данными, то данный пунктик отпадает), логические ошибки.
kick GArray не плох, но места его использования очень сильно ограничены, т.к. можно очень не хило так отхватить по морде, в виде утечки памяти (хотя на самом деле, все эти моменты прописаны автором в java doc к классу, которого тут почему-то нет).
Последнее редактирование: