LINUX.ORG.RU
ФорумTalks

У меня комплексы от чужих сорцов


0

2

Да, когда я даю кому-то задание написать модуль, а потом смотрю в код, мне стыдно, на языке не вертится ничего такого что можно высказывать в слух, а рука тянется к лицу, хорошо если к своему.

Как дальше жить? Ведь эти люди Программисты, у нех Диплом и высшее оборзевание, а тут я такой весь в припадках перфекционизма смотрю как вместо использования stateless класса народ лепит приватные переменные в которых творится мультипоточный содом без синхронизации.

Люди верните мне веру в человечество.

Deleted

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

Замена линусу найдена, на случай автобуса с сотрудниками мелкого

blokant ★★
()

Люди верните мне веру в человечество.

Не-а.

thesis ★★★★★
()

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

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

А на свой код написанный пару лет назад такой реакции нет?

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

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

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

а мне какбы надо позитивный результат получить: как научить человека получать отвращение от плохого кода

Deleted
()

читай свои сорцы для компенсации :)

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

в отвлеченном я уже сообщил:

- объявление переменных уровнем выше чем это требуется, т.е. вместо локальных - члены-класса,

- использование мутабельных переменных (вместо final)

- использование одной переменной в нескольких несвязанных блоках кода (когда очевидно стоит завести несколько разных, а то и вынести блоки в отдельные функции)

Вообще мужуки про это написали тонны книг про правила хорошего кода рефакторинг и т.п. (которые я, к слову, не читал)

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

вот нашел:


        public ConcurrentMap<Integer, IPInfo> getIPsFrequency() {
//возвращается мутабельная карта, которую можно поменять извне без синхронизации
                return IPsFrequency;
        }

        private final ConcurrentMap<Integer, IPInfo> IPsFrequency =
                        new ConcurrentHashMap<>();
 public void registerConnection(int ip, Date visitDate) {
//используется синхронизация по карте, что странно т.к. карта конкуррентная
// с другой стороны вовне могут сделать еще одну синхронизацию по карте с вытекающим из этого дедлоком
                synchronized (IPsFrequency) {
                        IPInfo entry = IPsFrequency.get(ip);
                        if (entry == null) {
//зачем putIfAbsent и synchronized?
                                IPsFrequency.putIfAbsent(ip, IPInfo.newEntry(visitDate));
                        } else {
// зачем этот посторонний кусок кода в synchronized блоке, а если там долговременная операция, или взятие очередной блокировки
                                entry.registerNewVisit(visitDate);
                        }
                }
        }

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

Вообще-то, кодер (он же инженер-программист) это специальность уровня профессионально технического училища, а не вуза.

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

не знамо шо это такое, скажу сразу что по моим представлениям у нас учат либо языкам\технологиям, либо computer science

такой штуке как организация процесаа разработки, архитектура ПО (точнее проектирование этой архитектуры) и т.п. както побочно

а потом IRL студент 6 лет сношавший связанные списки видит какойнить Spring или RoR и сползает в носки

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

инженер это какбы и продукт вузов, чтобы там не писали в трудовых

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

О, хорошо)

В свою защиту могу сказать, что так карта у меня без синхронизации вываливалась с concurrentmodification-исключением)

А с putIfAbsent я начудил, потому что находился в процессе переделывания того костыля, и оно у меня в атом бард век и осталась.

А про выставленную напоказ карту - меня за это еще на собеседовании слегка пнули.

Спасибо, это полезно.

п.с. Как бы ты переписал тот участок? Кроме первого комментария.

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

Ты так говоришь, как будто спринг - это что-то хорошее.

cdshines ★★★★★
()

Вешайся, придурок!
Потому что ты безнадёжен.

livi
()

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

amomymous ★★★
()

Начни обучать, а лучше подталкивать к самообучению, советуй литературу, учи хорошим приемам, из удачных экземпляров потихоньку сколачивай команду, да и если судьба разведет, все равно они тебе благодарны будут. А там глядишь и свою «методу» разработаешь и спасешь мировое «программистское» образование.

А ныть все могут.

nerfur ★★★
()

Передавай людям опыт, обсуждай с ними недостатки их решения, предлагай лучше. Хочешь, чтобы вокруг что-то изменилось — тебе придётся приложить к этому руку. Только так.

fang
()

Ты не представляешь, как я тебя понимаю!

Впрочем, не всякие с виду дебри оказываются истинным говнокодом, порой там лежит некий глубинный смысл, который на самом деле отражает реализуемые идеи в наиболее натуральном для них виде, и понимание этого только со временем приходит, при более плотном знакомстве с продуктом. Но это по ходу не твой случай :)

yoghurt ★★★★★
()

Ты им хоть объяснил, что в коде не так и как надо делать?

Quasar ★★★★★
()

Да, когда я даю кому-то задание написать модуль, а потом смотрю в код, мне стыдно, на языке не вертится ничего такого что можно высказывать в слух, а рука тянется к лицу, хорошо если к своему.

кто-то должен писать код. быстро и чтоб работало.

если кто-то хорошо умеет писать код, обычно он уходит вверх и писать перестает.

а кто-то должен писать.

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

заниженный уровень требований к курсовым и дипломам.

нормальный уровень требований. пром.разработка --- это тебе не на факториалы дрочить.

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

Вообще мужуки про это написали тонны книг про правила хорошего кода рефакторинг и т.п. (которые я, к слову, не читал)

читай их вслух, считай это частью проф.обязанности. и лучше с выражением.

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

Наверное, всё-таки не «инженер-программист», а «техник-программист». Инженеров ПТУ не готовят.

undertaker ★★
()

Люди верните мне веру в человечество.

Всё это фигня, по сравнению с мировой революцией.

sin_a ★★★★★
()

Обучай, ёпта! На пустом месте ещё никто идеальный код не создавал, так то!

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

а мне какбы надо позитивный результат получить: как научить человека получать отвращение от плохого кода

Я был ведущим на проекте, где мы потратили 2 месяца на полное переписывание кода на другой язык и запуск полученного кода, и ещё 7 месяцев на отладку, доработки, оптимизации, юзабилистские исправления под android. Это уже само по себе намекает, что написать код — не главное.

Ну и когда человек 5 дней ищет причину бага и втыкает костыли, потом борется с побочными эффектами своих костылей, а потом видит изящное решение той же проблемы в 2-3 строчки и без побочных эффектов — это вразумляет. Так что надо стажёра посадить на отладку какого-нибудь особо подлого бага, хорошее решение для которого ты уже знаешь и знаешь, что стажёр попробует костыли воткнуть.

quiet_readonly ★★★★
()

Да, когда я даю кому-то задание написать модуль, а потом смотрю в код, мне стыдно, на языке не вертится ничего такого что можно высказывать в слух, а рука тянется к лицу, хорошо если к своему.

Это нормально. Причем не только в программизме.
Я конструктором работаю. Когда я даю задание своим недоконструкторами нарисовать простейшие детали - у меня потом тоже рука к лицу тянется и думаю «лучше б я сделал это сам, потратив лишние полчаса».

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

я на свой код полугодовалой давности смотреть не могу без рвоты)))

Ага. Поэтому я с недавних пор стал его комментировать =)

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

емнип вузов выпускающих разработчиков ПО, а не кодеров у нас нет

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

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

Не живи дальше. Ничего не исправить.

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

Да, такая ситуация хреновая. Но потому то ты и можешь иметь возможность оценивать и критиковать, ибо ты лучше (ну, без возведения этой фразы в абсолют). Делал бы кто-то такой же крутой как ты - ты был бы доволен. Но вот такому бы ты уже задание не давал, ибо он бы работал не под тобой. А еще помни, что всегда будет тот, кто и на твой код захочет почесать лицо. И на последок: не стоит так париться о таком, если работаешь на чужого дядю; его материальное состояние не пошатнётся; твоё дело собрать всё в кучу, сделать его рабочим и выполнить задание.

fraxinum
()

Белк, ну ты же знаешь Главный Принцип, работающий испокон веков: "Если хочешь, чтобы что-то было сделано отлично, сделай это сам!". Ну, а если сгодится тяп-ляп, то можно кому-то заказать.

Если же не умеешь — ССЗБ, смирись с тем, что тебе будут постоянно говно подсовывать.

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

А я как на код трехлетней давности гляну, так сразу хочется сделать полный "рефакторинг". Поэтому я стараюсь в старые исходники вообще не заглядывать: работает — а и хрен с ним!

Eddy_Em ☆☆☆☆☆
()

Люди верните мне веру в человечество.

Само ничо не будет. Пока в вузы не вернётся старая проверенная система контроля качества подготовки специалистов, пока студеозов не начнут прогонять сквозь сито, как сидоровых коз, пока не прикрутят хотелки по поводу лёгких и быстрых денег , так и будет.

у нех Диплом и высшее оборзевание

А если диплом куплен? У потребляев свои правила: «я заплатил, теперь мне все должны»

Deleted
()

Перестаньте вы надеяться на человека, которого дыхание в ноздрях его, ибо что он значит

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

емнип вузов выпускающих разработчиков ПО, а не кодеров у нас нет

«Разработчик ПО» это и есть кодер. А у нас ВУЗы клепают как в 70-ых «программистов-математиков», которые выигрывают олимпиады, но ниуя полезного не могут родить.

yu-boot ★★★★★
()
Ответ на: комментарий от Eddy_Em

У мну бывают «просветления», когда приходит в голову очередная ценная мысля. Часто под вечер. Быренько к компутеру, что-то набрасываешь, а наутро смотришь свой г-но код и думаешь о себе разные нехорошие слова.

Со статеечками ещё смешнее. Не так давно отрыл свою заочную полемику с одним из стартаперов тех времён, долго смеялся над эмоциональными выбросами.

Deleted
()

Как дальше жить? Ведь эти люди Программисты, у нех Диплом и высшее оборзевание

Вот-вот. Давно уже говорят об этом. Профильные Программисты на Дипломах, такое творят, что их поделки выпиливают годами и серьезными издержками (серьезный стресс-фактор).

outtaspace ★★★
()

Ведь эти люди Программисты, у нех Диплом и высшее оборзевание, а тут я такой весь в припадках перфекционизма смотрю как вместо использования stateless класса народ лепит приватные переменные в которых творится мультипоточный содом без синхронизации.

Говори так «Я понимаю что ты профессионал, но хотя бы синхронизацию потоков прикрути, а то ведь может заглючить из за плохой погоды на Марсе.»

Как я понял, тебе нужно что бы модуль работал и сомнений в надёжности его работы не было.

rezedent12 ☆☆☆
()
Ответ на: комментарий от yu-boot

выигрывают олимпиады, но... ...полезного не могут родить

ИМХО, из них пытаются делать гениев, вместо того, чтобы делать просто_хороших_инженеров. Поэтому так.

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