середа, 12 вересня 2012 р.

Debugging Song



На контесті з тобою сиділи ми разом
І сталась у нас запара...
Ти пошук тихесенько пишеш на графі,
Ми будем шукати пари...
І я знаю, що цей алгоритм є коректним,
Та він не знаходить нічого...
Мій дружбан зараз скаже, отам я загнався,
Рекурсія тут нідочого.

Приспів:
Віддебаж її, віддебаж її,
Як же глючить дебаггер в цій студії!
Захардкодь її, ти захардкодь її
І лишись теорії!
L зміни на D, L зміни на D,
Може так піде і вона пройде...
Помилка зовсім не та,
Юзай дабл замість інта!

Схожі індекси ці між собою, я знаю,
Що десь я їх там попутав...
Ну а може вилажу за межі масиву,
Це було б занадто тупо...
А дебаггер стартує чомусь так повільно,
ОЗП не компі замало...
Я на баги придумав собі полювати,
Мене вони вже дістали!

Приспів.

вівторок, 11 вересня 2012 р.

10 заповідей програміста


I. Не поламай. Якщо тобі щось не подобається, то не спіши це виправляти, якщо не знаєш, для чого це було зроблено.
II. Не cкопіпасть. Копіпаста - зло. Не розмножуй код. Чим менше коду - тим менше багів.
III. Не захардкодь. Особливо якщо грішиш копіпастою.
IV. Не перестарайся. Зберігай прості речі простими. Не ходи танками на горобців.
V. Не мудруй лукаво. Не пиши хитростей, які неможливо зрозуміти.
VI. Пам'ятай про ближніх. Думай про тих, хто буде читати твій код. Можливо це будеш ти сам.
VII. Називай речі своїми іменами. Нехай назва функції відображає те, що вона робить, а назва поля - те, що воно збегірає. Дотримуйся правил іменування.
VIII. Відділяй мухи до мух, а котлети до котлет. Дотримуйся архітектури. Розкладай все по своїх місцях.
IX. Шукай і знайдеш, питай і тобі дадуть відповідь. Якщо на твоє питання ніхто не знає відповіді, можливо, час почитати документацію.
X. Проникай в суть. Не пиши милиць і затичок. Виправляй причину, а не наслідок, і буде тобі щастя.