Saturday, February 19, 2011

Programming story

История в какой-то степени объясняет поведение программистов.

Один парень в команде работает на junior должности, он хороший парень и вполне способный программист, но его стиль программирования сложно назвать элегантным.

Как бы там ни было, он работает над системой по отображению данных о состоянии боевого костюма. Это такой экран из 3-х цифр, который показывает температуру костюма. Таким образом, код выглядит так:

temp_to_str (int temp)
{
  char str[4];
  sprintf (str, "%d", temp);

и т.д.

Я ему говорю, "Эй, это не круто, т.к. если температура будет выше 1000 (или ниже -100), ты перегрузишь свою строку и игра упадет без предупреждения"

Он отвечает, "А, ну да, ок, я это исправлю."

Через пару дней я решил посмотреть на код снова, чтобы убедиться, что он все исправил. Он действительно изменил код, и сейчас он выглядит так:

temp_to_str (int temp)
{
  char str[4];
  if (temp <= -100 || temp >= 1000)
    fprintf (stderr, "WARNING: PROGRAM IS ABOUT TO CRASH!\n");
  sprintf (str, "%d", temp);

11 comments:

  1. Ему надо было написать что-то типа "WARNING! WARNING! EXTREMELY TEMPERATURE! LEAVE THIS AREA IMMEDIATELY!"

    ReplyDelete
  2. лол, хотел бы взглянуть на этого человека

    ReplyDelete
  3. =))) приколист, блин

    ReplyDelete
  4. ахаах)интересно он специально или нет?)

    ReplyDelete
  5. По шее ему надо надавать за такие шутки. Сегодня он всякую херню пишет, а завтра пойдет программировать игры и запрограммирует самолет вырисовывать выхлопом на небе слово "Х*Й".

    ReplyDelete
  6. Лол. Представляю что случилось бы, если бы такое предупреждение появилось бы в крайзисе.

    ReplyDelete
  7. Так надо было объяснить человеку как правильно.

    ReplyDelete
  8. @Cutsman

    Прогеру было жалко увеличить массив с 4 байтов до хотя бы 100. Но скорей всего не понял, что от него хотят, и решил задачу как умел.

    ReplyDelete
  9. Програмеры такие програмеры...

    ReplyDelete