LINUX.ORG.RU
ФорумTalks

диагноз программисту по сорцам?

 


1

2

Есть ли исследования в области психологии направленные на изучение корреляции между сортами говнокода и духовным здоровьем автора сего кода?

А то ковыряние во многих проектах (в т.ч. опенсурсных), наводит меня на грустные мысли. Особливо когда проект пишут «математики» - там вообще все шизоохренительно.

Deleted

Нету. Замути ты. На нейросетях. На вход при обучении скармливаешь код поциента и его официальный диагноз. Может даже бабла подымешь

Harald ★★★★★
()

Корреляции по языку программирования достаточно. Джависты на раз диагностируются :)

alpha ★★★★★
()

Ну знаешь сейчас вообще моден подход кодирования через «написания тестов». Т е при таком подходе рефакторинг/исправления превращается в тупое следования раннее написанным тестам а не вдумчивое переозначение кода

Jopich1
()

А есть исследования в области психологии направленные на изучение корреляции между профессией и желанием ставить диагнозы?

ilovewindows ★★★★★
()

Ну, вообще-то говнокод так же индивидуален, как почерк. Дай двум программистам задание реализовать что-то, сложнее, чем «hello world», на одном языке, и они разный код напишут.

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)

Особливо когда проект пишут «математики» - там вообще все шизоохренительно.

Два мешка однобуквенных переменных этому учёному. Кто пытался кросскомпилировать hdf5, *las-ы разные под маздай в цирке не смеётся.

d_a ★★★★★
()
Ответ на: комментарий от Harald

Мне до их переменных дела нет, к счастью, какие вообще могут быть претензии к пачке исходников на древнющем фортране и C89. А вот очередной plain makefile на 9000 строк вместо сборочной системы, густо обмазанный костылями для интроспекции и кодогенерации практически ставит крест на портабельности.

d_a ★★★★★
()
Ответ на: комментарий от d_a

Вообще все кто мне встречался с однобуквенными переменными к математике отношения не имели а скорее были очень далекими от неё сисадминами, пытающимися сойти за девопсов.

Так что придумайте какой-то другой термин, пожалуйста :)

alpha ★★★★★
()

Программыдло должен быть шизофреником, хоть немного. Иначе это плохой, негодный программыдло. Гоните его, насмехайтесь над ним.

cnupm
()
Ответ на: комментарий от alpha

У вас комплексы от IDE? Вы пишите в блокноте и тратите время на вкушение духа свободы? Не стесняйтесь открыться, вас поймут.

Deleted
()
Ответ на: комментарий от Deleted

ты всё перепутал, мы тут диагностируем программистов :)

Так что лучше расскажи как часто ты выходишь за пределы Java-машины? Случалось ли тебе писать Java-сервис с единственной целью - выполнять еженедельно по расписанию один автоматический запрос к бд?

alpha ★★★★★
()
Ответ на: комментарий от alpha

мы тут диагностируем программистов :)

вы? и много вас там за одним аккаунтом?

Случалось ли тебе писать Java-сервис с единственной целью - выполнять еженедельно по расписанию один автоматический запрос к бд?

это у вас там спрашивают когда берут на работу админом бывшего девелопера? типа знает ли он про крон и консольные утилиты? рекомендую просто не брать девелоперов, а то вдруг чего напрограммируют

Deleted
()
Ответ на: комментарий от Jopich1

Это всё сильно сильно разнится, странно что не очевидно.

Тесты могут покрывать api, а причём только внешнее и чуть чуть внутреннее. При таком подходе можно не только рефакторинг сделать, а вообще всё переписать, порой даже на другом языке).

Так чтобы тесты покрывали ну прямо вот модули размером по 300 строк, это только в мифах бывает и стоит дорого, ну совсем дорого.

И да, рефакторинг может иметь разные цели и в зависимости от целей может и никак не зависеть от тестов.

ixrws ★★★
()

Java и производные = страдает от ожирения. Ну или наслаждается им. stevejobs гарантирует.

C/Asm/C++/Rust/Pascal = Шизофрения в различных формах и различной степени тяжести. Паранойя, голоса в голове и МОССАД в розетке прилагаются в комплекте.

JS и производные = Синдром Дауна или гидроцефалия.

Brainfuck = Непрерывное F16.04.

StReLoK ☆☆
()
Ответ на: комментарий от Harald

что плохого в однобуквенных переменных? )

да как тебе сказать. причин хватает даже в простейших случаях. например верно ли что V=I*R? нет, потому что R - это радиус-вектор, I - высота, а V - объем цилиндра. да, лечится комментами, не спорю, но поставить Volume вместо V было бы куда проще и понятнее.

в двух словах - запись a*b означает что мы умножаем a на b, и все. никаких флагов чтоб судить что есть a и b у тебя нету. и когда таких записей полсотни строк дебажить их одно удовольствие. а в случае математиков там еще идут фееричные массивы, тут вообще труба начинается

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от Harald

ну дак из контекста можно догадаться

double v(double i, double r) {
  return i*r;
}

догадывайся. или лучше так

void f1r2dit(...)
{
...
w = w >> 1;
l2 = 2;
for (l=1; l<(lgN-1); l++) {
  l1 = l2;
  l2 <<= 1;
  w = w >> 1;
  for (i0=0; i0<N; i0+=l2) {
    i1 = i0 + l1;
    t = X[i1];
    X[i1] = X[i0] - t;
    X[i0] = X[i0] + t;
  }
  .....
}

дальше лень писать. догадаешься что делает функция к которой относится этот кусок? пример реальный, могу даже ссылку кинуть

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от Harald

ну как минимум, что вообще делает программа, содержащая этот код, ты должен быть в курсе

обрабатывает изображения. хотя это уже подсказка дальше некуда. допустим это кусок гимпа (на самом деле нет)

upcFrost ★★★★★
()
Ответ на: комментарий от Harald

я про нижний пример. верхний из головы. нижний реальный из кода на котором сейчас свой компилятор гоняю. единственные 2 вещи что я заменил - название функции и переменную w

upcFrost ★★★★★
()
Ответ на: комментарий от Harald

Тут лучше LISP, чем нейронные сети подойдет.

Прямо по примеру из PCL.

nihirash ★★★
()
Ответ на: комментарий от alpha

Случалось ли тебе писать Java-сервис с единственной целью - выполнять еженедельно по расписанию один автоматический запрос к бд?

У жавыдла для этого Quartz есть.

cnupm
()

Покажи нам свой код, развратник.

IPR ★★★★★
()
Ответ на: комментарий от Harald

а депрессивное расстройство куда? Или при нём код вообще не пишется, можно не учитывать

При нем и жить не особо хочется.

Meyer ★★★★★
()
Ответ на: комментарий от alpha

Угу, пистонщики — обсессивно-компульсивное расстройство, перлисты — шизофрения, хаскеллисты — аутизм.

dogbert ★★★★★
()

Опенсорс ещё ничего. Вот в проприетарщине - ад.

RazrFalcon ★★★★★
()
Последнее исправление: RazrFalcon (всего исправлений: 1)
Ответ на: комментарий от MimisGotAPlan

А за эталон возьмём код Александреску

Можно сразу диагноз ставить. Есть разница между промышленной разработкой и «proof of concept».

Tark ★★
()
Ответ на: комментарий от i-rinat

На FFT похоже

да, это FFT из epiphany-example для платы parallella. две однобуквенных переменных этому господину.

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Да и писать width вместо w, в классе rect, как минимум странно

не вижу ничего странного

upcFrost ★★★★★
()
Ответ на: комментарий от shimshimshim

чтобы хоть какой-то диагноз выдавался в любом случае

Тогда нужно сделать коробку, которая всегда выдаёт «шизофрения». Будет очень высокий процент попаданий. Шизофрению при большом желании можно чуть ли не у любого найти.

i-rinat ★★★★★
()
Ответ на: комментарий от d_a

какие вообще могут быть претензии к пачке исходников на древнющем фортране и C89

никаких, оно с тех самых пор работает и нет смысла их трогать

grem ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.