Как писать простой код

  Рет қаралды 35,085

Лёша Корепанов

Лёша Корепанов

Күн бұрын

Как сделать так, чтобы программный код, который вы пишите, было легче читать и понимать. Почему это важно. Утилита для автоматической оценки сложности кода.
Цикломатическая сложность: en.wikipedia.o...
Когнитивная сложность: docs.codeclima...
Утилита для оценки сложности кода на JavaScript/TypeScript: www.npmjs.com/...

Пікірлер: 66
@aocore
@aocore 3 жыл бұрын
t.me/devworden - наш телеграм-чат, где можно задать вопросы discord.gg/7B4prKBxkZ - Discord-сервер с каналами по разным языкам программирования Мой микрофон: ya.cc/WEPcs Моя камера: ya.cc/WEPvP Мой рабочий компьютер: ya.cc/WEQGr Ссылки партнерские, я могу получить вознаграждение, если вы купите что-то, перейдя по этим ссылкам.
@beaukyle1721
@beaukyle1721 3 жыл бұрын
instaBlaster...
@alexeymurnikov1413
@alexeymurnikov1413 3 жыл бұрын
Вы просто кладезь знаний! Спасибо) Вы прекрасно подаёте информацию, надеюсь когда-нибудь услышать от вас про SOLID или паттерны проектирования.
@aocore
@aocore 3 жыл бұрын
Спасибо! Хорошо, расскажу об этом в следующих видео.
@ВолодимирДідух-ф5р
@ВолодимирДідух-ф5р 3 жыл бұрын
Обязательно продолжайте снимать полезные видео, у Вас отлчино получается подавать материал !
@aocore
@aocore 3 жыл бұрын
Спасибо!
@ВладимирВоробьев-е6о
@ВладимирВоробьев-е6о 3 жыл бұрын
Самый главный приём упрощения кода - давать правильные имена всем объектам программы. Учитывая то как мало программистов кто делает хоть какое-то усилие чтобы давать подходящие имена, этот приём надо ставить самым первым в списке.
@aocore
@aocore 3 жыл бұрын
Вот, кстати, соглашусь. Только, наверное, не столько названия переменных, сколько названия функций и классов, которые экспортируются из модуля. Но, на мой взгляд, эта проблема очень быстро лечится. Такие вещи очень хорошо видно на ревью, ревьюеры сразу пишут замечания и новички очень быстро приучаются давать вменяемые имена.
@ВладимирВоробьев-е6о
@ВладимирВоробьев-е6о 3 жыл бұрын
@@aocore Это важно для всего кода, а экспортируемые вдобавок должны быть неизменными на протяжении всего жизненного цикла.
@chesteris777
@chesteris777 2 жыл бұрын
Благодарю вас за информацию😊
@СанекСветлов-й6ь
@СанекСветлов-й6ь 3 жыл бұрын
четко. благодарю за интересную подачу
@lvivduncan
@lvivduncan 3 жыл бұрын
return '42' =) тонко!
@konstantingogin2398
@konstantingogin2398 3 жыл бұрын
Спасибо .
@глебемельянцев
@глебемельянцев 2 жыл бұрын
Круто, снимайте также хорошо
@АндрейПетров-б7ь9й
@АндрейПетров-б7ь9й 3 жыл бұрын
Many thanks. Your me(a)ssege constructive for our brains.
@razordialer
@razordialer 2 жыл бұрын
Интересно, какая сложность у рекурсивной функции с одним if ? 🙄 И как учитывается такое зло, как глобальные переменные?
@infinity3020
@infinity3020 3 жыл бұрын
Можете показать мастер класс по программированию?
@aocore
@aocore 3 жыл бұрын
А что конкретно вы хотите увидеть? Какой-то определенны язык, вид проектов? Какой-то фреймворк? Или процесс разработки?
@mqtrade5743
@mqtrade5743 3 жыл бұрын
На Java интернет-банк или онлайн биржу:-)
@АлексейВитязев-щ6к
@АлексейВитязев-щ6к 3 жыл бұрын
Вид проектов, хочется увидеть проект , ну и какие то коментарии к нему для начинающих как все устроено)
@ЛевВарначёв
@ЛевВарначёв 3 жыл бұрын
Добрый день! Новичок в програмировании. Учу Python 1,5 года. Не могу сказать, что пока что мой код особо ясен и чист(хотя прогресс есть). Существует ли подобная утилита для данного языка? Буду очень благодарен Вам за помощь. P. S. В любом случае, я буду искать её самостоятельно, но, признаться, я не слишком доверяю себе из-за отсутствия опыта. P. P. S У Вас очень интересные видео. Узнал много нового. Спасибо большое за них.
@aocore
@aocore 3 жыл бұрын
Я для Python вот нагуглил библиотеку: pypi.org/project/cognitive-complexity/ . Но что-то не вижу там возможности вызвать ее из командной строки.
@ЛевВарначёв
@ЛевВарначёв 3 жыл бұрын
@@aocore Благодарю! Попробую поэкспериментировать с ней :-) Про вызов из командной строки: как ни странно, PyCharm и Python не видят многие библиотеки, которые скачивались мной через cmd с помощью pip. Найти решение этой проблемы мне пока не удалось. Возможно, у Вас такая же причина проблемы, как и у меня.
@АртемФИО
@АртемФИО 3 жыл бұрын
@@ЛевВарначёв у вас возможно более одного пайтона установлено, в паф прописан один, а работаете в другом, и библиотеки качаются не на тот пайтон
@alekseydoroshko1364
@alekseydoroshko1364 3 жыл бұрын
Для С++ есть такие утилиты?
@aocore
@aocore 3 жыл бұрын
Вроде, вот этот линтер умеет считать, но не знаю, он цифру показывает, или только предупреждения выводит: marketplace.visualstudio.com/items?itemName=SonarSource.SonarLintforVisualStudio2019
@MrOldVoron
@MrOldVoron 3 жыл бұрын
Вы не правы, если код было тяжело писать его должно быть тяжело читать :) А так, какие то SOLID прниципы для непосвященных.
@FigisBadralov
@FigisBadralov 2 ай бұрын
Книги пишутся прежде всего для себя, а не дла кого-то. А потом да, для других. Статьи пишутся для того, чтобы за них получать бабки. Код пишется для того, чтобы аппарат любой, в том числе компьютер смог быстро вычислять что-то. Почему он пишется с такими словами, типа if, for - для того, чтобы можно было легче изменить код. Код - это не книга на бумаге. Он изменчив!
@aleksk9170
@aleksk9170 3 жыл бұрын
ничё не понл, что, где работает?
@ТимурСафаров-в1ч
@ТимурСафаров-в1ч 3 жыл бұрын
2.30 Ваш код как стена который состоит из кирпичиков, каждый кирпичик эта функция - таких кирпичиков не должно быть слишком много чтобы другие люди поняли как ваш код работает - что то в терминах запутался ты Лёша.
@studying1122
@studying1122 8 ай бұрын
Здравствуйте. Вы берете учеников? Я очень нуждаюсь в хорошем онлайн учителе!)
@ОлегМельник-б3з
@ОлегМельник-б3з 2 жыл бұрын
да никому по большому счету простой код не нужен сейчас главное ООП накидал кучу библиотек и быстренько сварганили прогу всем плевать на качество по сути засрались с этим ООП проги раздуваются так что смотреть страшно а уже править чужую так вообще висилица
@Mcsuber
@Mcsuber 3 жыл бұрын
Леша, простой кот это простой кот ) а чистый кот - чистый кот )
@Rice0987
@Rice0987 3 жыл бұрын
Принципы хорошего кода: 1) хороший код должен быть понятен главным образом компьютеру; 2) названия функций должны максимально короткими, в идеале до 3-4 букв; 3) комментарии для слабаков и конкурентов; 4) код должен быть одним большим куском; 5) по возможности, лепите несколько функций в один ряд; 6) программа в первую очередь пишется для работы, а не для того, чтобы в ней потом ковырялись и допиливали чужие руки, потому что исходный код должен допиливаться только его создателем, а если это невозможно, исследуйте чужой и оттачивайте своё мастерство самостоятельно; 7) форматирование в топку. Если подозреваете, что ваш код будут читать чужие коллеги, хотя бы выровняйте всё по левому краю; 8) любой проект должен защищаться паролем авторских прав, тогда вышеперечисленное не обязательно. Всяческих дебаг! :)
@einstein6451
@einstein6451 3 жыл бұрын
После третьего пункта понял, что это не сарказм)))
@Rice0987
@Rice0987 3 жыл бұрын
@@einstein6451 не благодари.🤗
@hetshoot6092
@hetshoot6092 2 жыл бұрын
+ нужно знать математику
@Rice0987
@Rice0987 2 жыл бұрын
@@hetshoot6092 и как минимум краткую историю всего.😊
@DepechLyot
@DepechLyot 2 жыл бұрын
Жеесть
@yulial820
@yulial820 3 жыл бұрын
Однажды писала реализацию для вывода отчета, словила себя на мысли, что код похож на примеры "до" из книги Мартина Чистый код, хотя все было разбито по функциям, переменные именованы хорошо. Пришлось выводить некоторую реализацию в отдельные классы
@hallyshislamao
@hallyshislamao 4 ай бұрын
Подскажите с чего начинать?
@infinity3020
@infinity3020 3 жыл бұрын
Можете советовать хороший бюджетный ноутбук для программиста?
@aocore
@aocore 3 жыл бұрын
Если вкратце - все очень сильно зависит от того, каким именно программированием вы занимаетесь. Мобильная разработка (да и кросс-платформенная вообще) - требует компьютер помощнее. От языка тоже зависит, C++ - на слабом железе долго компилируется, для Python - можно компьютер и послабее. iOS разработка - нужен мак. И так далее. Я, возможно, запишу видео на эту тему.
@linuxforbeginners5121
@linuxforbeginners5121 Жыл бұрын
Привет, а если я пише приложения на других с подобных языках программирования это С++ и С# я знаю что и для них можно тоже посчитать сложность. А случаем для них нет такой же утилитки как и для Java-Type Script языков программирования. И да не по теме немного но если кто пишет (писал) frontend на С++ подскажите где на этот счёт почитать материал. И вообще не в тему на чем на C++ под Linux пишется GUI если он вообще пишется. Просто я заканчиваю обучение и до сих пор не знаю как писать GUI приложения под Linux ну разве что Tkinter in Python но Python ну я не сильно знаю и понимаю (может у меня к Python просто предвзятое мнение). Да и короткие выжимки начинающему программисту всегда полезны так как материала для изучения много а времени на всё меньше чем самого материала. А так коротко и понятно и не нужно много времени на вычитывание (выискивание) сути темы.
@KoteikaKoteewich
@KoteikaKoteewich Жыл бұрын
Не обижайтесь, но я ничего не понял. Возможно я тупой но возможно автор объясняет не достаточно "по чайниковски". В любом случае простите.
@krup1783
@krup1783 2 жыл бұрын
Лёша, добрый вечер, где же новые видосики? Приходится по второму кругу все пересматривать. Очень нужно видео типо «как начать работать айтишником и не сойти с ума»
@pomidorchik_123
@pomidorchik_123 2 жыл бұрын
Не существует испанский язык
@r45her
@r45her 3 жыл бұрын
Не стрОку, а строкУ
@metallfantasy2250
@metallfantasy2250 3 жыл бұрын
Укулеле!!!
@alexanderpadalka5708
@alexanderpadalka5708 3 жыл бұрын
@Rice0987
@Rice0987 3 жыл бұрын
Не матерись.
@ВредныйПингвин
@ВредныйПингвин 3 жыл бұрын
Я начинающий, лет 15 назад сайты писал на html, php, Сейчас хочется дальше продвинуться, сайты делать скучно, хочу приложения на андроид создавать но не знаю с чего начать.
@aocore
@aocore 3 жыл бұрын
Я рекомендую смотреть в сторону гибридных платформ - React Native или Xamarin - они позволяют разрабатывать сразу под iOS и Android
@ВредныйПингвин
@ВредныйПингвин 3 жыл бұрын
Да мне тоже советовали xamarin, но тут вопрос, мне работать на кого то или на себя? Есть у меня очень опытных пара энтузиастов молодые по 20 лет но что ни спрошу на всё ответ есть. На себя Илии????хочу совет, ps : у них на все языки ответ есть, они тоже безработные, одного кинули в mail другой на снб Узбекистана работал.
@ВредныйПингвин
@ВредныйПингвин 3 жыл бұрын
Хочу писать для ios но нет macbook, у меня есть ноут на 3 ГБ оперативных , в 2008 году вообще создавал сайты крупные с мобил ы сони Эриксон , сейчас с андроида не могу, тупо из за среды андроид, java Мог много, андроид нет
@ВредныйПингвин
@ВредныйПингвин 3 жыл бұрын
Сорян, там непонятно написано былоч
@ВредныйПингвин
@ВредныйПингвин 3 жыл бұрын
С Ява эмуляторов легко делать сайты, также joomla, jonh, cmc , но с а андроид платформы почему то трудно, если есть такой framwork то мобила не тянет, надо 6 ГБ минимум оперативы
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 17 МЛН
Остановили аттракцион из-за дочки!
00:42
Victoria Portfolio
Рет қаралды 3,7 МЛН
My daughter is creative when it comes to eating food #funny #comedy #cute #baby#smart girl
00:17
Простой прием стать программистом быстрее
9:38
Лёша Корепанов
Рет қаралды 322 М.
CI/CD - Простым языком на понятном примере
15:29
Артём Шумейко
Рет қаралды 37 М.
Зачем на самом деле нужен хук useCallback
8:33
Михаил Непомнящий
Рет қаралды 42 М.
ЧТО МЕШАЕТ ПИСАТЬ КОД НОВИЧКАМ
20:41
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 17 МЛН