А ви соромитеся свого старого коду?

У кожного з нас є темні таємниці... Ну гаразд, а якщо серйозно: що для вас ваш джуніорський код?

Чи соромитеся ви його? А може, зазираєте час від часу? Чи заходите ви навмисно у старий код, аби проаналізувати його, пошукати помилки?

Діліться у коментарях думками 💭

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному1
LinkedIn

Найкращі коментарі пропустити

Я і поточного подекуди соромлюсь, особливо коли вимоги продовжують змінюватися, а дедлайни — ні.

Пффф, мені навіть противно дивитись у код, який вчора написав.

Викидаю старий код разом зі старими ноутами xD

Я бачив таке, у що ви, джуни, просто не повірите. Код написаний сп’яну в п’ятницю у 2007 році і який досі працює. Я спостерігав як код написаний на Делфі працює на Андроїді... Все ці проєкти загубляться в часі, як сльози в дощі...

Пфф. Я й нового коду соромлюсь. Реально, таке гівно виходить.

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Я коли пишу — в той час уже й соромлюсь

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

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

Сьогодні шукав entry point до своєї давно вже написаної іграшки. Багато сміявся, трохи плакав, але знайшов.
Кому цікаво — відкрив гітхаб github.com/oleg-dorozhko/gold

Отак, мої перші програми 2001го року на BP7 ще десь валяється на диску, і там жах жахів))

Так ты что, в 2001 писал на BP7, в то время как уже давно был VC++98? Вот это реальной жаховый жах.

а шо хотіли від школяра без грошей, якому дістався підручник по Паскалю на халяву. Вчився на тому що було

а шо хотіли від школяра без грошей, якому дістався підручник по Паскалю на халяву. Вчився на тому що було

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

Я бачив таке, у що ви, джуни, просто не повірите. Код написаний сп’яну в п’ятницю у 2007 році і який досі працює. Я спостерігав як код написаний на Делфі працює на Андроїді... Все ці проєкти загубляться в часі, як сльози в дощі...

Я спостерігав як код написаний на Делфі працює на Андроїді.

Це, звісно, екзотика, але я особисто користувався PastoDeco для своїх дайверських розрахунків. Візуально виглядає жахливо і повз усі гайдлайни, але працювало надійно. Поки не зламалася сумісність із новими Андроїдами, а автор, на превеликий жаль, пішов із життя...

А чого його соромиться? Якщо код поганий, то його досить швидко перепишуть/замінять, а якщо хороший — то він так і працюватиме і нас переживе.

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

Чак Норіс не соромиться свого старого коду, коли дивиться на нього — код сам червоніє від сорому

Я из-за своего старого кода два раза трижды убил себя ап стену без разбега.

А так-то не соромлюсь, чоуж...

Відкрив недавно випадково забрану копію продакшн коду зразку 2013 року, в принципі згадав все, як працює без коментарів.
От код зі школи, універу був стрьомний.

Пару років тому вирішив черкнуть шото на турбо паскалі

Поставив дос, win3, tp7, все як положено синій екран повний ностальгії

І не згадав ніх, ламо. Написав хелло ворлд і затрешив від сорому віртуалку подалі з очей

Походу в топіку мова про код 10+ років назад.
А буває таке що відкриєш файл і думаєш:
— яке мудило це писало?
— annotate...
— о, це ж я xD

Нам необхідне нове шоу на СТБ «Я соромлюся свого коду». Щоб в студії на диванчиках сидів розробник, поруч його пееми колишні, архітектори. На екрані демонструвався код, осудливо гудів зал, щоб люди ахали «як він посмів, такий код і без коментів, а ці однобуквенні змінні, це ж позор!». Щоб в твіттері в рілтаймі писали «зробив команді такий код і кинув її!! І його навіть не хвилює, що буде далі з таким кодом?!». Щоб до нього підходив колишній тімлід і бив роздруківками по лицю «ти памятаєш цей код?! Памятаєш його?! Не смій відмовлятися від нього, це твій код!!!»

А потім програма захисту колишніх погромістів. ))))

і окрема програма утилізації ))

а ці однобуквенні змінні

це вже застаріле і не модне зараз шик називати змінні по різному маючи одне й те саме значення а ще періодично копіювати між ними

... а з приходом ооп до змінних додаються ще й класи ))

Щоб до нього підходив колишній тімлід і бив роздруківками по лицю «ти памятаєш цей код?! Памятаєш його?! Не смій відмовлятися від нього, це твій код!!!»

це якщо сам тім лід не «запроваджував» той «дизайн» та не вимагав його дотримання бо саме так він писав на фортрані у 1857-му а справжній програміст на фортрані може писати на будь якому програмуванні як на фортрані ))

це вже застаріле і не модне зараз шик називати змінні по різному маючи одне й те саме значення а ще періодично копіювати між ними

Це вже не шоу на СТБ, а статті в КК України.

саме так він писав на фортрані

Він буде персонажем, який сидить за спиною в тімліда з розпечатками, і кряхтітиме тому «правильно, накажи його, де так бачено писати код, мав би совість, побоявся би Мартіна і Кнута, в наші часи стидно було хлопцеві з порядної сімї вийти на вулицю з таким гіт-репозиторієм»

о саме так він писав на фортрані у 1857-му а справжній програміст на фортрані може писати на будь якому програмуванні як на фортрані

если правильно помню, то операторные скобки/вложенность в фортране указывалась отступами
И если правильно помню, в питоне оно тоже так же в питоне, который модный стильный молодёжный

Іноді відкриваю свої старі сніпети-напрацювання, і підганяю їх під актуальні свої навички (та версії мови). А щоб соромитися — то прямо щось має бути з самооцінкою недобре.

Цікаво як багато людей застали часи phpnuke? І хтось взагалі пам’ятає що це?
Гуглити ніззззяяяя ))

Цікаво як багато людей застали часи phpnuke? І хтось взагалі пам’ятає що це?

Я вот лично писал на TP3 и M.
Будем дальше мерятся?

Спроба звісно зарахована, але Typo3 це вже набагато сучасніше ніж phpnuke.
Хоча признаю, це прям таки вражає ))

Спроба звісно зарахована, але Typo3 це вже набагато сучасніше ніж phpnuke.
Хоча признаю, це прям таки вражає ))

TurboPascal 3 и MUMPS

Так то трохи вас не туди занесло, я пропонував мірятись фреймворками ))
А на турбопаскалі гру писав, эх були часи.
А потім на TurboVision якусь діч.

Так то трохи вас не туди занесло, я пропонував мірятись фреймворками ))

Во времена МАМПС — он біл сам себе фреймворк
Игрі я писал на Laser Basic

Та, Laser Basic. Калькулятор «Електроніка МК-61» наше все для ігор :))))))))

Пам’ятаю що всі вважали ресурси для неї невиправдано великими, тому я відкинув її, в часи коли займався пхп. Здається один раз під Денвер локально грався.

бугога кота ковбасою до того були старі добрі часи perl і папочка cgi-bin а зараз мало хто уже собі уявляє що «веб програма» це по суті та сама стара добра консоль якій на вхід заливають все що заїхало по http get/post/etc а все що видає на вихід тупо відправляється як відповідь на http

Мой джуновский код никто никогда уже, вероятно, не увидит.
Хотя может что-то до сих пор и работает
Но так то да, в нём можно было найти массу всевозможных чудесов и знамениев.

Тю, а чого його соромитись?
Це ж еволюція вашого розвитку.
Головне не зізнаватись що то ваш код ))

Байдуже на якість коду. Головне, скільки людей його використовуює

Звучить як цитатка Стетхема.

Багато років відкладав старий код, для того, щоб мати можливість у разі чого скопіювати якісь готові рішення. Але кожного разу, коли я стикався з написанням подібного функціоналу, мені просто не вдавалось знайти куди саме я поклав той необхідний шматок старого коду. З рештою почав просто видаляти код, починаючи з найстарішого, обґрунтовуючи це тим, що зараз я напишу краще.

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

Відкрив вперше за 4 роки, not bad

Багато хто навіть не помічає, що людям нічим дихати в приміщенні таке воно в них роздуте. Особливо в деяких олімпіадників. Вибачте наболіло

Одного разу відкрив якийсь старий код на проекті і: «бля, хто це наговнокодив?»
а потім згадав, що цей шмат функціоналу був повністю на мені.

Робіть як я. Якщо він під git’ом то кажете що це проіскі злобних хакєров. Схема робоча ))

Ой, ну це класична історія: «Господи, хто це гівно написав! Якась хвора людина!» <натискаю Annotate with Git Blame> «ааа... то я... мабуть на то була причина... ага, пригадую, дедлайни нереалістичні, ще й вимоги змінювали по 100 разів...», «приберу-ка я це швиденько, а то якось соромно»

Не соромлюсь, читайте :P www.govnokod.ru/14268

І давати ланки на .ru теж не соромлюсь. Гарний детектор неадекватів.

Цілком згоден, ті хто досі використовує російські ресурси, ті ще неадеквати

Пффф, мені навіть противно дивитись у код, який вчора написав.

Это только ламеры и нубы стесняются своего старого кода, а вот мне стесняться нечего. У меня код выглядит как конфетка, просто загляденье. Не верите? Можете сами проверить вот тут вот:
github.com/schwarzlichtbezirk
Это другие когда продолжают писать проекты, с которых я свалил, там в коде один сплошной фейспалм происходит. Но если у них какие-то тупые вопросы возникают, то я естественно всё разъясняю по коду на состояние моего последнего комита.

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

github.com/schwarzlichtbezirk/hms

1) такий великий і довгий проект (майже 500 комітів) і нема тестів, серйозно?
2) папка вс код не в гіт ігнорі?
3) github.com/...​r/joint/ftpfile.go#L31C45 — питання до неймінгу змінних, магічних чисел і просто читабельності
4) github.com/...​/master/confdata/prvk.pem і github.com/...​/master/confdata/serv.crt — пушити отаке це не ок для мене

тому виникає питання: точно канхветка?

1) тестами там покрыты все либы, что используются. web-API тестируется отдельно через insomnia.
2) .vscode/launch.json там содержит режимы запуска сервера из отладчика.
3) там нет магических чисел, 3 — это длина строки «://», а 1 — длина слэша, думаю что это лишнее в каментах пояснять всякую очевидную мелочёвку.
4) статичные сертификаты там только для примера, юзаются только в случае если не был получен сертификат с letsencrypt.org. Например, если сервер работает только в локалке. То же самое касается паролей в конфиге — они для примера.

1) веб апі і юніт тести — це різні рівні абстракції. і одне не заміняє інше (почитайте про піраміду тестування)
2) це круто, але я сумніваюсь, що ви пишете код з різних машин, що ці конфіги вам потрібно прямо запушені в ремоут
3) це магічні числа))) в сусідньому коменті вас хаять за ту саму причину
4) окей, з сертифікатами зрозуміло, але паролі це теж не ок, навіть якщо вони для прикладу — зазвичай є опції password i defaultPassword — які вирішують схожу проблему з неймінгами і розумінням що до чого (див.п3)

Кстати, я с тобой полностью согласен насчёт покрытия юнит-тестами. Только вот что. Ни в одной конторе нигде я ни то чтобы их не видел совсем, но скажем так, код покрывался не на 100%. И в принципе это оправдано, поскольку на написание этих тестов, и их поддержку при модификации алгоритмов — тоже нужно время. И если посчитать с экономической точки зрения, что дешевле, либо править выявленный баг, либо тратить время на дополнительный код, то решение не всегда будет в пользу юнит-тестов. А только в случаях, где баги могут повлиять на какие-то затраты. Если есть возможность быстро и точно диагностировать фейлы — это уже часть решения проблемы, поэтому в коде везде и всегда нужно по крайней мере обрабатывать ошибки. А так вообще вот тут вот есть полное покрытие юнит-тестами:
github.com/schwarzlichtbezirk/wpk

так, 100% покриття це вершина бажань кожного тімліда, таке важко зустріти. але я зустрічав проекти з 97% покриття, тому до того можна дойти.
тести це не якась точка, це шлях. тому це константна активність, час на яку по хорошому має бути закладений в естімейт розробки фічі. в мене на проекті тікет переходить в статус дан тільки якщо:
< blockquote>
1) функціонал написаний\виправлений
2) юніт тести написані\оновлені і завжди зелені (включно з рейс флагом)
3) сваггер доки оновлені
4) лінтер завжди зелений
5) постман колекції з веб тестами оновлені і завжди зелені

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

Як розвести на безкоштовне код рев’ю...

У меня код выглядит как конфетка, просто загляденье.

Гучна заява
github.com/...​/hms/blob/master/cache.go

func (rwm *RWMap[K, T]) Init(c int) {
if c < 8 {
c = 8
}
rwm.mux.Lock()
defer rwm.mux.Unlock()
rwm.m = make(map[K]T, c)
}

Аргумент з назвою «c», якась непонятна константа 8. Судячи з умови, c має бути не менше 8, інакше якщо менше 8, то робимо її 8, але для людини котра вперше баче цей шматок коду, може здатися, що c має бути кратною 8.

Фуфуфу, і це він зве канфєткой??

Навіть рейскондішен!

Ужос 😱

Всё абсолютно верно, кто знает Go сразу поймёт что там, и для чего. Аргумент c — это под какое количество элементов нужно зарезервировать мапу. Дело в том, что при добавлении элементов эпизодически реаллоцируется память в heap, и такие операции сильно снижают перфоманс, поэтому лучше сразу заранее выделить объём под нужное количество, если оно известно. Если неизвестно, передаётся 0. Под меньше чем 8 выделять тоже нет смысла в силу специфики реализации мапы. Код — идеален.

кто знает Go сразу поймёт что там, и для чего. Аргумент c — это под какое количество элементов нужно зарезервировать мапу.

Если бы мне надо было прям это закодить, то это было бы как минимум так:

// comment explaining your intention exactly like you did above
const minMapAllocSize = 8
func (rwm *RWMap[K, T]) Init(preAllocSize int) {
// ...here maybe first check if map not initialized yet...
if preAllocSize < minMapAllocSize {
preAllocSize = minMapAllocSize
}
//...
}

Во-вторых, я не знаю конечно на какой бешеный хайлоад это рассчитано (учитывая что это система для одного дома), но имо в 99.9% случаев такая аллокация — ядренейший оверкилл. И вообще я не уверен, что это будет всегда лучше, чем дефолтная аллокация Go.

Я бы скорее придрался к организации проекта и кода, к недостатку абстракций, к тому что все апи свалено в одном пакадже и вместе с частью бизнес логики, к недостаточному separation of concerns (например криптография прямо в коде хендлера), к куче nested логики и безымянных горутин почти прямо на точке входа.

Не оверкилл вовсе, и это кстати большая тема для обсуждения. Вот был у меня наглядный пример. Загрузка базы данных на полмиллиона записей, где каждая запись аппендится в массив у меня происходила за 5 секунд, а если выделить память сразу, то загружается всего за несколько сот миллисекунд. Разница очевидна. То есть с точки зрения перфоманса лучше сделать два прохода — в одном цикле посчитать нужный объём памяти, а во втором — заполнять выделенную за 1 раз память. Кроме того, во всех решительно кейсах лучше избегать лишних аллокаций в куче, и поэтому даже применение таких простых функций что в этом файле github.com/...​pk/blob/master/strutil.go при работе со строками вместо стандартной библиотеки — значительно повышает перфоманс, на несколько сот миллисекунд при той же загрузке из базы данных. Вот именно поэтому в бенчмарках Go есть опция чтоб показать количество выделений памяти, и самый крутой код — это тот, где логика построена так, чтобы память юзалась только на стеке. Вальялкин хвастался такими либами, и это реально круто.

Ну так вот, смотри что далее. На C++ нет сборщика мусора, и поэтому там все юзают на сегодняшний день смарт-поинтеры std::shared_ptr, а они в свою очередь ссылаются на объекты в хипе, из-за чего хип юзается даже в тех случаях, где в этом нет необходимости. Если программист где-то на C++ не заюзает смарт-поинтер, есть шанс что при внесении изменений в алгоритм будет утечка памяти, или ещё какой-то баг. Ещё там мягкие указатели, и прочая лабуда. И таким образом выходит, что быстро написанный на C++ код будет менее производительным, чем код написанный на Go вместе с GC и рефлексией.

Насчёт того, что свалено в одну кучу — одна из идей проекта в том, чтоб сделать один модуль, а не кучу микросервисов, чтобы можно было запустить на домашнем компе, или на планшете без докера. Или на нат-сервере. К тому же разделять нет необходимости, нагрузка на раздачу контента почти нулевая. Основная нагрузка при работе сервера приходится на обработку изображений — там может выесть процессор на 100%. Обработка включается при создании эскизов изображений и тайлов, также при конвертации неподдерживаемых браузером форматов.

Насчёт хедлеров — часть не требуют авторизации вообще, это для просмотра статистики и состояния работы сервера. Часть юзают токены GWT с HS-256, и на локалхосте выдают авторизацию по умолчанию, это делается через миддл-варе. Можно указать в passlist.yaml, каким адресам выдавать админские права сразу без пароля. Ещё в миддл-варе ко всем хендлерам есть определение клиента — то есть по адресу и юзер-агенту детектится уникальный клиент, и записывается в лог. Таким образом, незаметно кто-то левый на сервер не зайдёт. Ну и также пишется лог файлов, к которым было обращение, и при обычном просмотре контента лог растёт немного, на пару сотен килобайт в месяц, пишется в sqlite-файл.

На C++ нет сборщика мусора, и поэтому там все юзают на сегодняшний день смарт-поинтеры std::shared_ptr, а они в свою очередь ссылаются на объекты в хипе, из-за чего хип юзается даже в тех случаях, где в этом нет необходимости.

Якщо не треба використовувати хіп, то не використовують ні new (*), ні розумні вказівники. Але в стека є одна проблема — він значно обмежений. В такому випадку без new/smart pointer не обійтися. Тоді вже треба використати кастомні алокатори, placement new. Власне, go ці проблеми також не вирішує: обʼєм стеку той самий, виділення памʼяті теж займає скільки ж часу.
(*) за виключенням плейсмент new

В этом как раз и преимущество Go, что решение, где будет размещаться объект, в хипе или на стеке — принимается компилятором на этапе компиляции, без ручного управления. И таким образом, наибольшее, чем рискует разработчик на Go — это выделением памяти на хипе вместо стека, а не багом или утечкой памяти.

Не знаю, щодо якості коду, а от ЧСВ питань не викликає.

Чувак накинув на вентилятор, а йому ще безкоштовно код-ревʼю зробили ))

Це ще потрібно вміти так, геній)

я навіть не подумав за це
нас заюзали, а ми і оком не моргнули))
чувак красава)))

Да они просто завидуют красоте и элегантности моего кода.

скоріше самовпевненості

Вже давно не парюсь стосовно тієї якості, один хрін через 2-3 роки вимоги зміняться і там буде декілька шарів костилів, а іще через 5 перепишуть на новомодний фреймворк або взагалі закриють сервіс/проект/контору.
Так шо ото нагівнячив вчасно, закомітав та забув, аби працювали норм, нікому та краса і нахрін не впала.

Це вірне рішення. Головне аби працювало, якщо ти не головний в команді, або це не на все життя.

На одному проекті був захаркоджений timestamp величиною в 10 років з поміткою що проект здохне раніше.
Не здох
Дебажив довго я то все (((

Навіює старі басні формату define(true, false); // happy debuging

Бізнесу часто взагалі байдуже всі ті внутрішні красивості. Йому часто потрібні, щоб були вірні цифри і доступні якнайшвидше, ідеально — завтра. Тритижнева розробка з Ідеальними Шаблонами на Сучасних Фреймворках, яка б дозволила отримати результат на 200 мс швидше — це можна за наявності часу і натхнення зробити потім. На співбесіді потім можна сказати: «я зробив так і так, тут і тут не оптимально, можна оптимізувати ось так, але на той момент обмежував час, виділений на розробку».

це все класно, про business first, поки Архитектура Альтернативного Розвитку не виливається у 2-3 тижні рефакторінгу через бажання впилити фічу на десяток годин або фіксу багів по колу після кожного релізу. Тоді починають кликати жирних і старих дядь, які шарять у архітектурі, а молоді експерти ідуть писати говнокод далі.

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

. Тоді починають кликати жирних і старих дядь, які шарять у архітектурі, а молоді експерти ідуть писати говнокод далі.

А правда здорово, что есть куда звать жирних старіх дядь на переделку, да?
Потому что кривой косой проект работает, с него капает денежка, он настолько успешен, что с него кормится и заказчик, и даже есть чего отслюнявить «дядям» — и настолько успешен, что єтот проект надо даже развивать дальше, а не забіть как страшній сон

интересно, а что біло бі с проектом, если бі его сразу начали писать жирніе дяди?
и почему ж єтих дядей изначально не позвали то?

А може бути таке, що жирним дядям буде нікуди іти, бо скоростріли-говнокодери понаписували так, що дешевше переписати з 0, ніхто не хоче братись за це і взагалі до дедлайна пара тижнів, а скоростріл вже звільнився. Бо весь час замовнику вішали на вуха мівіну про те, наскільки все буде круто і от-от завтра буде готово, але щось не склалось.

А може бути таке, що жирним дядям буде нікуди іти, бо скоростріли-говнокодери понаписували так, що дешевше переписати з 0, ніхто не хоче братись за це і взагалі до дедлайна пара тижнів, а скоростріл вже звільнився. Бо весь час замовнику вішали на вуха мівіну про те, наскільки все буде круто і от-от завтра буде готово, але щось не склалось.

Может. Но пока что им есть куда идтить, и как правило «сначала говнокодеры — потом толстые дядьки», а не наоборот.
в реальности, конечно, «в основном говнокодеры с небольшим вкраплением дядек» (иначе оно бы не взлетало), но тем не менее

потому как если «надо срочно к черной пятникце», то говнокодеры успеют налабать и пятницу оно как-то да переживёт, а дядьки одно только ТЗ 3 месяца будут утрясать :)

Не путайте бизнес-приложения и игры, к ним разные подходы для разработки

А чого його соромитись, ягих би я геніїв не зустрічав, у умовні 18 років вони усі таке гімно-код писали. Так що то норм, усі через це проходять.

Пфф. Я й нового коду соромлюсь. Реально, таке гівно виходить.

Ох пам’ятаю якийсь унікум вимагав красоту кода в тестах )))

Проходив якось співбесіду в компанію і мені відмовили через мій гітхаб на якому були старі репозиторії з джуновським кодом)) я навіть не думав що так буває, там же написано коли цей код був написаний

Ага один у переписці в джині теж прикопався. Я пояснив усе. А він — як ти це лайно можеш тримати... це псує твою репутацію і т.д. Ввічливо послав його.
А там проектики мої у деякі навіть вірив що вони змінять світ, хтось навіть зірочки ставив. А він лайном це посмів назвати. Бяка

Я старі проєкти архівую, це більш наочно. Прості смертні не можуть на GitHub кнопку «Скачати» знайти і лають, що білди там розміщують, а не на простому ощщєпанятному SourceForge, а Ви ще хочте від них дослідження, скільки років проєкту :P

Ой github....
На співбесіді до@@@вся один чого в мене нема пет проджектів?
Якщо нема значить лише заради грошей буду в них працювати.
Там був такий потік сознанія... шось іще про горящіє глаза і що я навіть поза роботою повинен жити оцим всім...
Головний посил якщо нема пет проджекта поза роботою то нерозвиваєшся ((

Угу, памʼятаю свою першу програму до калькулятора Електроніка Б3-34: К НОП БП 00

Люди, ви чудові))) ржу з коментарів))

А ще, не дайбожень, полюбому є фото-документальні докази то прям фсьо...))))

Боженьки, який іспанський стид!!!

Ну... По-перше, майже увесь код не зберігся. По-друге, чому він має бути поганим та містити помилки? Навпаки, інколи виникає питання чи я не деградував? Мені 15 років, я знаю Turbo C, та переривання 10h та 21h. Готовий хоч Windows написати, аби тільки був машинний час стабільний. Знову ж таки, той факт, що 75% часу ти писав та відголаджував код у зошиті, лише покращувало його.

Викидаю старий код разом зі старими ноутами xD

В вузе после сессии многие из группы, и я в том числе переустанавливали систему с полной очисткой, что бы больше не видеть того ужаса, который накапливался за триместр, а там еще всегда затесывался какой-то стремный предмет, со стремным софтом который устанавливался через пень-колоду, ибо писался под windows 3.0. После этого, было ощущение — словно заново родился😅

Я в універі інколи копіював такі папки, де зберігався код всіх студентів, інколи були курсом раніше чи пізніше, для того щоб подивитись що пишуть інші.

Напевне з роками якість коду погіршувалася.

Я і поточного подекуди соромлюсь, особливо коли вимоги продовжують змінюватися, а дедлайни — ні.

То все ок. Просто обставини були сильніші за вас, а післящавтра реліз. Ви прям як маленький, уже повинні були б вивчити 100 і одну відмазку )))

Це ж свого роду теж професійний скіл.
Ви ж не можете прямим текстом умовного проджекта обізвати дурбецалом який напхав у спринт більше ніж влазило.

Прожект напхав у спрінт а ви (команда) погодилися? Ну й хто вам тепер лікар...

Наче команду завжди питають. Нам так поставили реліз нового проекту на вересень в минулому році. Техлід як почув дату дедлайну, так і за голову взявся, і також спитав, чому не порадились з командою. Але замовник сказав, що повинно бути готово на 20 вересня, і робіть, як хочете. В результаті, той же техлід і наовертаймив годин 20 за місяць (не впевнена навіть, що йому їх всі оплатили). Працюю на аутстафі, якщо що, менеджмент в Лондоні.

«Роби що можеш із тим що маєш...»

Підписатись на коментарі