Sup /b/ ima kun profof ne budet.В тредх призываются йоба погромизды 300кк/наносек.Стори такая - лет пять назад работал на галере макакой, все забыл нахой, сейчас пытаюсь вкатиться в бэкенд на позишн хотя бы эникея, затем джуниора, а там куда кривые руки выведут. Тык вооот. Сейчас жопу рвет от тривиальных задачек на кодеварсе codewars.com пиздец прям пукан горит, насколько топорный и отсталый код я хуярю. Реквестирую методы как научится в элегантные решения? Как научится на автомате думать не про иф вен =, а про =?a:b например. Как научится сжимать код до состояния нечитаемой йобы, которая при этом выполняет поставленные задачи?Алсо посоветуйте какие нибудь бешплатные курсы по теории алгоритмов читоль.
>>193234669 (OP)>Реквестирую методы как научится в элегантные решенияОчевидно начитать их и тупо опыт-опыт-опыт, пока не дойдёт до автоматизма. Хули, как и в любой другой теме.>Как научится сжимать код до состояния нечитаемой йобы, которая при этом выполняет поставленные задачи?А стоит ли?Это не априорно лучшее решение, анон. Мрограмму можно написать чтобы она была:Элегантна и короткаШустра в исполненииЗанимала мало дискового пространстваЖрала мало ресурсов системы при работеБыла легкочитаемаИ никогда нельзя добиться всего сразу. Так что стоит уделять так много времени этому пункту? Может лучше сосредоточить свои силы на своей сильнейшей стороне?Каждый из этих параметров кому-то да нужен.
>Реквестирую методы как научится в элегантные решения? Как научится на автомате думать не про иф вен =, а про =?a:b например.То, что ты называешь элегантным — обычная функиональщина. Объявляй поменьше переменных, ничего не мутируй, не используй циклы, объединяй последовательные манипуляции над одними и теми же данными в цепочки.>Как научится сжимать код до состояния нечитаемой йобы, которая при этом выполняет поставленные задачи?Зачем? Это плохо, не надо так делать. Код должен быть понятен для читающего.
>>193235099>сосредоточить свои силы на своей сильнейшей сторонеЕдинственная моя сильная сторона в том, что я могу решить любую задачу. Но полотна кодов прям поджигают, когда в результатах у чуваков 2 строчки, а у меня 15, со всякими буферными зонами, чтобы не потерять значения.
>>193235217Прямой дорогой в майкрософт. Они любители брать тех кто быстро решают задачи, пусть и грязно - грязь всё равно можно со следующими обновами почистить, а можно и не почистить.
>>193234669 (OP)>> Как научится на автомате думать не про иф вен =, а про =?a:bМакака, отучивайся делать =?a:b и делай c if
>>193235290Ну, вот так. Берешь и не используешь. Все манипуляции через map и reduce. Но это не во всех языках хорошо работает.
>>193235290Кстати анон правильно сказал про циклы. Ты в курсе что железу на низком уровне достаточно неуютно в циклы? Программа будет шустрее в разы, если расписывать цикл вручную по итерациям. Тебя, очевидно, засрут за говнокод, но зато без залезания под капот - твоя программа будет всем казаться чем-то пиздатым Но рациональнее, конечно, поступать так ток с малыми циклами. Расписывать цикл на 1000 шагов вручную - такое себе занятие.
>>193235446Нет, за них в нормальном обществе по рукам бьют. Выше уже написали, что код должен быть читаем. А тернарники не читаемы и в них легко делаются ошибки.
>>193235446хуемаесли ты собрался работу искать, то ты должен понимать твой код должен быть читабелен для других людей в командеесли будешь писать хуйню типа тернарнинов - тебя пустят по кругу и нассут в ротну а если ты просто для себя программируешь, без цели когда либо работать - то пиши как хочешь, хоть байты еби там
>>193235474Компиляторы и интерпретаторы уже давно научились разворачивать циклы, научись и ты задавать им флаги.
>>193235491Не согласен. Конструкции с if тяжеловесны. Тернарники прекрасно читаются, если они не вложенные.
>>193235489Это исключительно на собес. Чтобы сеньйор глянул и охуел. А так то я уже норм прожекты писал, просто оформление страдает.
>>193235566У себя дома и лично тебе может быть все, что угодно. Но когда код сложный, есть прослойка из тестировщиков и все это еще покрывается автотестами, то ты идешь нахуй со своими тернарниками. Змейки дома можешь писать хоть как.
>>193235489Не похую, когда в команде 50 человек и все работают над общим кодом. Если ты пишешь так, что кроме тебя никто не может разобраться в коде, тебе быстро проведут шершавым по губам и выкинут на мороз.
>>193235540У нас в команде все ебошат тернарники. Потому что лид, занимающийся код ревью требует их использования потому что ЭЛЕГАНТНО и СООТВЕТСТВУЕТ ПАТТЕРНАМ ХОРОШЕГО КОДА.А вообще ненавижу айти и ненавижу погромирование. Но я больше ничего особо не умею.
Да блен народ не горите. Про тернарник я имел ввиду, так сворачивать короткие ифэлсы. Это же гиперчитаемо. Вложенные нахуй идут, там проще в свичи перекинуться.
>>193235540>если ты собрался работу искать, то ты должен понимать твой код должен быть читабелен для других людей в командеУстраиваешься на работу, хвастуя своим легкочитаемым кодом. Начальство дрочит, коллеги завидуют, тянки текут.Сразу ставят заданием написание неебически важного проекта.Услышав о скором сокращении штата - превращаешь свой код в нечитаемую нёх, в которой черт ногу сломит.Попадаешь под сокращение.Через две недели зовут обратно - никто из сотрудников не может поддерживать твой проект, ибо не втыкают как ЭТО вообще работает.Просишь повышения зарплаты и привилегию ссать начальнику в куллер.Недовольно урча, берут тебя обратно, ибо нельзя просрать проект.
>>193235793>превращаешь свой код в нечитаемую нёх, в которой черт ногу сломит.На первом же код-ревью тебе проводят шершавым по губам и заставляют переделывать.
>>193235870Ну, если оно есть. В рашке много кто хуй на код-ревью клал. Гос. учреждения - хуй клали, мелкие вчерашние стартаперы - хуй клали. Только в серьёзных компаниях хуй не улали, но в серьёзную компанию тебя не возьмут.
>>193235995Ты не с ОПом разговариваешь. Я ОП. У меня висит реквест на жаба жуниора в Меру. И вот я прошу помощи, от знающих. Ибо сам я в бекенде только сишник и пыху писал. В основном пыху с мусикулами в говноконторе. Но это все равно макакинг ящитаю.
>>193234669 (OP)> Как научится сжимать код до состояния нечитаемой йобы, которая при этом выполняет поставленные задачи?Нахуя? Может ты ещё будешь картины кодом рисовать, но чтобы он работал?
>>193236518Задрачивай тогда всякое олимпиадное программирование которое нахуй в повседневной работе не нужно.
>>193236518Ну ты пошёл по прямому пути, а тот включил мозг и понял, что сумма цифр в числе не превышает девяти и равно девятке только если число делится на девять нацело. Чтобы решать такое — дрочи математику и олимпиадные задачки. Чтобы в целом писать не говно — дрочи алгоритмы. Вот тебе список литературы: https://teachyourselfcs.com/
>>193236050>>193236730Вот это уровень аргументации, кек. Прочитали в рандомной статье на Хабре что тернарники это плохо, но забыли почему?
>>193236518Не за тем гонишься. Читабельность кода важнее «красоты». А задачки с кодварса имеют мало отношения к реальной работе. Ты бы проект какой-нибудь запилил лучше, с ним шансы устроиться на работу сильно выше чем с первым даном на кодварсе.
>>193237293Да у меня есть за плечами опыт по двум сиэремкам и одной серверной части йоба магазина. Только исходников нет. На собесе будут задачки. Вот хочу надрочить такие йоба решения. Чтобы на собесе все ахуели. Ну а в рабочей обстановке я и пишу не совсем, как на моем пике - это я запульнул даже не радактируя за 2 минутки в перекуре.
>>193237365Не факт, что будут задачи. Сейчас это не можно. Вполне может быть и «покажите ваш промышленный код, давайте обсудим...» и тут ты обсираешься. А могут и вообще на собес не позвать с пустым гитхабом. Хотя, мб у энтерпрайз-макак это как-то иначе работает.
>>193237493Ну и что мне делать? Пилить змейки на гитхаб? Нет у меня ветки. В говноконторе была, но она принадлежит конторе, как мне пояснили и я просто сел на место прошлого васяна, разгребать мусикул реквесты, которые вместо 0,2 сек выдают 12сек. Да и я уже не помню ссылки.Пойдет, если я змейки в гит нахуячу?
>>193237603Очевидно лучше хоть что-то свое на руках, чем что-то в забытой ветке прошлой работыхотя можно попробовать попросить бывшее начальство тебя охарактеризовать.
>>193238870Ведь даже по твоей змейке, как и в твоём примере выше, уже можно понять на что ты способен.
>>193238870Ну я то же так подумал. Наверное будет небольшой конфуз, что это не прикладная задача. Но в любом случае - это же будут мои коды, мои решения и моя стилистика. >попросить бывшее начальство тебя охарактеризоватьПлохая идея. Я переписал функционал лида, от чего он дико бугуртил. Оставим эту стори.
>>193237603Если только ты в геймдев собрался. В остальных случаях лучше что-то похожее на то, что ты собираешься писать. Еше можно отпидорить несколько файлов из предыдущего проекта и показывать только их ссылаясь на NDA.
>>193239371А я честно не ебу какие проекты делает рекрутер. Написано, что приглашают на место джуна. Профиль комании неясен. Пилят всякий софт за рубеж.
>>193241530Как то. Можешь переписать пример в консоль и затестить. По крайней мере нельзя отправить реквест кода - пока он не пройдет тесты. Получается все ответы прошли тесты и работают.
>>193241530>рекурсииКстати она там есть.На моменте return <-this (if)?true:falseНу я так понимаю этот код.
>>193234669 (OP)Тернарные операторы сразу нахуй и в пизду. Ты код пишешь не только для себя. А для компьютера,которому похуй иф тут или ?:= . И ещё пишешь для других программистов которые твоё говно допиливать будут.
>>193243509Хотя хуй знает. n в коде ведь не цифра в последовательности, а число. Теперь я то же не понимаю логику.>>193243715->>>193235770
>>193235706Твой лид еблан и на самом деле не умеет в программирование. Наверняка учил со школы один стек и теперь не может из-за своего самомнения осознать свои ошибки.
>>193243440>>193243509https://ideone.com/ZgFo7cНе работает, и не может работать. В примере нет рекурсии. Функция выводит либо 9, либо остаток от деления на 9. ОП-хуй какой-то левый код притащил.Вот простейшее решение на плюсах:int digital_sum(int n){ if (n < 10) return n; return n % 10 + digital_sum(n / 10);}
>>193244141Я и есть ОП.Вот ссылка на задачу. Проверяй.https://www.codewars.com/kata/541c8630095125aba6000c00
>>193244028вы че рил такие тупыетам же очевидное правило из математики примененоможно его сформулировать типа как остаток от деления на 9 будет равен сумме цифр числаа писать научиться такой код очевидно можно только задрачивая числовые методы или типа того(ну и практикуясь постоянно)ебать че вы за кодеры такие если вам надо объяснять такие простые вещимимо вебмака
>>193244402>как остаток от деления на 9 будет равен сумме цифр числану ты бы сначала себя проверил:255 % 9 != 2+5+5
>>193244505ну да там как раз иф стоит на такой случайправило значит неполное есть исключениемысль-то верная в целом че доебался холоп?
>>193244402Блять я из математики онли матрицы и графы кодил. Откуда бы мне знать про числовые методы. Кстати отличный повод изучить этот раздел.
>>193234669 (OP)Олимпиадное программирование знатно отличается от галерного труда ради удовлетворения бизнеса. Ты бы лучше какого нибудь бота для ВК запилил,который бы умные вещи делал.
>>193244505там же написано РЕКУРСИВНО2 + 5 + 5 = 1212%9 = 3255%9 = 3 по условиям задачину может я не удачно правило сформулировал. но очевидно что тут не хитрый алгоритм в привычном понимании этого слова, а математический трюк
>>193244943Да блиа похуй, что чел не попал в условия задачи. Он просто ебаный читер-математик. Я ахуел с его кода. Поэтому бугуртнул и пришел сюда.
>>193244567Мамку твою ебал, но ты таки прав.Внезапно, я ебусь в глаза, и там хоть и написано "Sum of Digits / Digital Root", но рассчитать нужно именно корень, а не сумму. Я написал рекурсию для подсчета суммы.КОРЕНЬ можно рассчитать по хитровыебанной формуле, как на пик2, либо ебануть рекурсию.int digital_root(int n){ if (n < 10) return n; digital_root(n / 10);}
>>193245187- ненавижу тебя чака- ненавижу тебя фасимбанельзя ритуально не обложить друг друга хуями, мы ж на дваче
>>193245161Забей на это. Он просто загуглил формулу.Вспомнить такое на собесе - задача нетривиальная. Во всяком случае для рядового кодера.
>>193245552он не просто загуглил формулувот ты бы так не смог, тебе в голову не пришло что есть такая формула и как сформулировать запрос. так что не надо тут ля ля
>>193246941>>193246364>РофляночкаЯ такое видел у Си кодеров, когда они допиливали коды на плюсах. Алсо у тебя в директивах же стоит неймспейс. Си кодер с 10 летним стажем ты?
>>193247406Близко, но нет.по поводу неймспейса - просто привычка:https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice
>>193247661Да я хавал сишник. мне одно время даже нравилось распределять переменные по разным полям доступа (в том числе и в других пространствах имен). К тому же это вроде как главный постулат у Страуструпа - прятать и приватить любые поля, кроме необходимых, задействованных в интерфейсах или публичных методах класса. Крч прятать все, кроме явно публичных. Хорошая практика ящитаю.
>>193245637Конечно, не пришло бы. Но никто и не ожидает от пхп-макаки подобных знаний. Ты же не яндекс собираешься.
>>193234669 (OP)>Как научится сжимать код до состояния нечитаемой йобы, которая при этом выполняет поставленные задачи?Чтобы у вас руки за такую хуйню отвалились и хуй никогда не вставал больше