Куча говна / Говнокод #11614 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
function name = monthName( m )

switch m
    case 1
        name = 'Jan';
    case 2 
        name = 'Feb';
    case 3
        name = 'Mar';
    case 4
        name = 'Apr';
    case 5
        name = 'May';
    case 6
        name = 'Jun';
    case 7 
        name = 'Jul';
    case 8 
        name = 'Aug';
    case 9 
        name = 'Sep';
    case 10 
        name = 'Oct';
    case 11
        name = 'Nov';
    case 12 
        name = 'Dec';
end

MATLAB. Источник: http://berkeleyearth.org/results-summary/ - почитайте, что за проект. А ноги растут вот отсюда: http://www.sfgate.com/science/article/UC-climate-change-skeptic-changes-views-3748148.php

Этот отрывок присутствует в двух файлах, я нашел его после беглого просмотра. Может быть, я ничего не понимаю в научных расчетах и совершенно незнаком с синтаксисом MATLAB, но есть у меня подозрения, что здесь что-то не так.

Папки с тестами к коду я не нашел. Сижу вот, думаю...

Запостил: scriptin scriptin, (Updated )

Комментарии (10) RSS

  • > но есть у меня подозрения, что здесь что-то не так
    Большинство научного кода выглядит страшно с точки зрения разработчика. Но если посмотреть с другой стороны - а как будут выглядеть научные исследования, выполненные разработчиком с точки зрения тех же ученых?

    Человек не может быть силен во всех областях одновременно. Что-то он знает и умеет лучше, что-то хуже. Поэтому, ИМХО, в научных расчетах такой код можно простить.
    Ответить
    • Стоит отдавать корректный с точки зрения выдаваемого результата код, написанный учёными на доработку и оптимизацию разработчику. Тогда быдет симбиоз.
      Ответить
    • Мне всегда очень хотелось верить, что ученые пишут код исключительно с полной формальной верификацией (или хотя бы с тестами) на волшебных языках с двойной радугой и пони. А вчера моя иллюзия была жестоко разбита - примерно такой же код я каждый день вижу на PHP.

      Но если уж закрыть глаза на программирование дат - у них код вообще без тестов/верификации? Откуда они знают, правильно ли он работает?
      Ответить
      • А мне всегда казалось, что практического смысла в этом нет. Код должен только доказать/опровергнуть/продемонстрировать некую возможность. Какие-то общие навыки по алгоритмам должны быть, чтобы не скатываться в унылоту, остальное может быть мешаниной из тернарных goto с датами.
        Я это понял, когда прочитал книжку типа "компьютер для менеджера". Там простым языком рассказывается про статистику, немного про теорию управления, немного про бейсик. Это же неспециалисты, им не нужны такие технологии и навыки (разве что получится 1-эс).
        Я с трудом представляю себе, что там считают. Но если алгоритм что-то просеивает (у меня был опыт в своё время в институте), то чаще всего он одноразовый. В противном случае есть шанс, что потом его перепишут сведующие люди.
        Ответить
        • >В противном случае есть шанс, что потом его перепишут сведующие люди.
          Да, это PHP
          Ответить
      • Сверяют с результатами других ученых или ручными вычислениями на контрольных примерах видимо.
        Ответить
  • Да я бы и не сказал, что совсем не так. Ну, можно было массив завести (с нулябрем или без?), крайние случаи обработать... Если я не пропустил чего-нибудь.
    Ответить
    • без нулября, в матлабе массивы с 1 нумеруются. Кстати автор мог и не знать про такое колдунство в матлабе, как массивы строк (для строк одинаковой длины подойдет и обычный массив, но он будет двумерным и доступ к нему будет: arr(n, 🙂 вместо arr(n), ну а для строк разной длины нужен cell-массив).
      Ответить

Добавить комментарий

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8