Секретные записки в коде
Давайте поговорим о возможно одной из самых важных проблем. О стилистике кода. Признавайтесь, сколько раз несли писали ересь ибо устали или просто в кофе сахара не доложили? После тяжкой рабочей ночи, с субботы на воскресенье (да я такой), я случайно забрёл в раздел для рекламодателей на хабре. Увидев прикольный элемент — я как вполне состоявшийся в жизни человек, полез смотреть как это свёрстано что бы самому голову в случае чего не ломать. И знаете что я увидел? Я увидел как меня посылает CSS. Нет, не вылезла ошибка, тут даже нету метафоры! Меня в прямом смысле послало название класса. В начале я хотел порассуждать о том самом, идеальном коде, к которому все стремятся, но который раз за разом в мелочях оказывается в трещинах из-за мимолётных помешательств. Но сегодня воскресенье так, что обойдёмся обычной подборкой «юмора» на тему: «хехехе».Скоростная система контроля версий
private Quaternion _initialRotation; // моё гавно private float _angle = 0f; // моё гавно А потом стикер отклеился и все забыли
/* * UnitControl класс отвечающий за селект юнитов, а также за таргет атаки * Класс возможно нужно переписывать, так как я открыл новый способ селекта * Который позволит урезать добрую половину кода * Но так как и так всё работает, я пока не буду переписывать */ Главное предупредить
while (parallaxSprite.SpriteTransforms[0].position.x — parallaxSprite.ParallaxSpriteRenderer.bounds.extents.x > CameraFollow.TransformComponent.position.x — 30) //yep, it’s magic number // NO REASON TO DO THIS IN THIS SCRIPT! Ландан ис кэпитал зэ грэйт британ
//vector to target in ploskost Этот неловкий момент когда ушиб мизинчик об шкаф
//DIE DIE DIE DIE DIE DIE DIE function die () Кстати когда что-то не получается всегда можно начать обзываться
//Этот код отстой, и мы оба это знаем. //Так что двигайся дальше, а идиотом ты назовешь меня потом. Однажды маленький мальчик удалил кусок кода, потом оказалось что этого куска никогда там и не было.
// Не уверен, что это нужно здесь, но очень боюсь удалять. Кстати когда писал на плюсах — всегда боялся что память потечёт
(здесь видимо кто-то решил поизмываться над чужим кодом и оставил комменты в стихах (перевод очень вольный)): int MyFunction () {
// Жил был парень по имени Дейв int Result = 0
// Чей код лишь падал не взлетев MyObject *Ptr = new MyObject ();
// Внезапно он ушел на встречу Result = Ptr→DoSomething ();
// Оставив памяти утечку return Result; } Когда я вижу что-то не понятное я думаю что это такая оптимизация и иду дальше
x = -x; // Не знаю, зачем это нужно, но от этого люди перестают быть верх-ногами В своей жизни один раз воспользовался goto — неделю родителям в глаза смотреть не мог.
ICantBelieveImUsingAGoto: // TODO: Починить это. Что починить? $GLOBALS['data']… //Вы ранее привлекались за хранение данных в глобальных переменных? alert («login error»+response.err); // Все мы джаваскрипт алертами дебажили. //Вы толерантны к копипастам?
targetX = Mathf.Clamp (targetX, minXAndY.x, maxXAndY.x); targetY = Mathf.Clamp (targetY, minXAndY.y, maxXAndY.y);
В своей молодости иногда обзывал фриланс-студии плохими словами из-за того, что они делали плохие вещи на моих лендингах. Обзывал прям в комментариях на лендингах, пока не получил по шапке. Теперь вернёмся от забавного к плохому, как часто вы оставляете грубые комментарии в коде? Особенно на клиентской части, где-нибудь в html?