Идеей о том, что нужно писать человекочитаемый код, уже никому Америку не откроешь. О том, как это стратегически важно для бизнеса и почему так полезно для разработчиков, написано много. Все, плюс-минус, это понимают, но контексты бывают разные, и каждый по-своему переносит это в свой опыт.
Рубрика «Программирование» - 32
Борьба за человекочитаемость кода: опыт Хабра
2023-02-10 в 12:42, admin, рубрики: Блог компании Хабр, код, Программирование, Проектирование и рефакторинг, рефакторинг, Совершенный код, хабр, чистый кодДелай нейминг как сеньор
2023-02-09 в 7:50, admin, рубрики: dodoengineering, dodopizzaengineering, Анализ и проектирование систем, Блог компании Dodo Engineering, нейминг, Программирование, Совершенный код, управление разработкой, чистый кодВ чём разница между сочинением третьеклассника и статьёй в крупном таблоиде? Любой из нас сходу определит, что есть что. Даже если оба текста описывают одно и то же событие. А чем отличается код сеньора от кода мидла?
Столетний язык программирования — какой он
2023-02-09 в 6:01, admin, рубрики: algol, c++, fortran, ruby, ruby on rails, Блог компании Cloud4Y, история программирования, Программирование, языки программированияОсобо амбициозные разработчики любят заявлять о том, что используемый ими язык программирования или фреймворк будет жить лет сто. Дерзкое заявление, учитывая, что разработке программного обеспечения, как таковой, всего около 65 лет. А фреймворки ещё моложе.
Можно почитать Пола Грэма и его разглагольствования о столетнем языке. Но он имеет в виду немного другое: язык, потомкиЧитать полностью »
Что может быть проще (сложнее), чем упорядочивание чисел?
2023-02-07 в 5:24, admin, рубрики: Программирование
Предположим, вы программист и у вас есть два числа. Вы хотите узнать, какое из чисел больше. Если оба числа имеют одинаковый тип, то почти в любом языке программирования решение будет тривиальным. Для этой операции обычно даже есть специальный оператор <=
. Вот пример на Python:
>>> "120" <= "1132"
False
Сравнение двух чисел на Brainfuck оставим в качестве упражнения для читателя.
Ой. Ну, строго говоря, это строки, а не числа, а строки обычно сортируются лексикографически. Но это всё-таки числа, хотя и представленные в виде строк. Это может показаться глупым, но такая проблема очень распространена в интерфейсах пользователя, например, в списках файлов. Именно поэтому нужно отбивать числовые имена файлов нулями (frame-00001.png
) или использовать описания, сохраняющие лексикографический порядок, например, ISO 8601 для дат.
Впрочем, я отклонился от темы. Предположим, числа действительно представлены числовыми типами. Тогда всё просто и <=
отлично работает:
>>> 120 <= 1132
True
Но так ли это?Читать полностью »
Создаем свой собственный язык программирования с использованием LLVM. Часть 2: Семантический анализ
2023-02-04 в 9:55, admin, рубрики: c++, LLVM, open source, Компиляторы, ПрограммированиеВ предыдущей статье мы закончили на том, что мы написали лексический и синтаксический анализаторы для нашего учебного языка. В данной статье мы продолжим начатое и рассмотрим следующую стадию анализа исходного кода программы — семантический анализ.
Семантический анализ
Основная задача семантического анализа заключается в проверки того, что программа корректна с точки зрения языка, например:
-
Все переменные в программе объявлены;
-
Все выражения совершаются над корректными типами;
5 лайфхаков Python, которые сделают ваш код более читабельным и элегантным
2023-02-04 в 7:22, admin, рубрики: python, python3, Алгоритмы, искусственный интеллект, код, лайфхак, машинное обучение, ПрограммированиеПривет! В этой статье я продемонстрирую 5 трюков Python на понятных для новичков примерах, которые помогут вам писать более элегантный Python код в вашей повседневной работе.
1. Избегайте вложенных циклов с помощью product
Git scraping: методика бесплатного хостинга не совсем статических сайтов
2023-02-04 в 1:42, admin, рубрики: beatport, etl, github, github actions, github pages, python, Rust, yaml, Программирование, Разработка веб-сайтов, хостинг, шаблонизаторНи для кого не секрет, что, используя GitHub Pages, вы можете бесплатно разместить свой статический веб-сайт в сети Интернет. 1 Гбайт доступного пространства, SSL-сертификат, возможность привязать собственный домен — разве не сказка? Но что делать, если вам необходимо, чтобы содержимое вашего статического ресурса периодически обновлялось? Допустим, несколько раз в час.
Сортировка слиянием — не так просто, как кажется
2023-02-03 в 8:28, admin, рубрики: .net, C#, Unicode, Алгоритмы, внешняя сортировка, оптимизация, Программирование, сортировка слияниемВ одной конторе соискателю на позицию Senior C# developer выдали тестовое задание: отсортировать файл со строками определенного формата.
Требования такие:
-
Формат строки: число, точка, пробел, далее любые символы до конца строки.
-
Порядок сортировки — сначала сортируем текстовой части строки, потом по числу если текстовые части совпадают.
-
Кодировка — UTF-8.
-
Размер файла — 100гб - гарантированно больше объема ОП.
-
Должно отработать за 1 час на машине проверяющего, вряд ли там будет супер-быстрый SSD и огромное количество оперативной памяти.
Bittorrent с нуля на Go
2023-01-31 в 19:27, admin, рубрики: Go, skillfactory, Блог компании SkillFactory, пиринг, пиринговые сети, поиск, Программирование, протоколы, реализация, Сетевые технологии, спецификации
BitTorrent — протокол загрузки и распространения файлов через Интернет. В отличие от традиционных отношений клиент/сервер, когда загрузчики подключаются к центральному серверу (например, для просмотра фильма на Netflix или загрузки веб-страницы), участники сети BitTorrent, называемые одноранговыми узлами, загружают фрагменты файлов друг с друга. Это то, что делает BitTorrent одноранговым протоколом. Исследуем, как он работает, и создадим собственный клиент, который сможет находить одноранговые узлы и обмениваться с ними данными.
В статье вы узнаете как сделать маленькие программы для MS-DOS на ассемблере, я покажу как рисовать 2D графику напрямую в видео-буфер. Может быть, вы даже вдохновитесь на создание собственного демо, которое будет ставить рекорды по размерам исполняемого файла.
INIT
Демосцена удивляет не только эффектными программами выжимающими максимум из маломощных платформ, но и ультра-маленькими исполняемыми файлами. На сайте Pouet.net можно найти программы размером не более 32 байт и большинство из них написаны под ОС MS-DOS, В некоторых демках даже играет звук!