Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

100% Easy-2-Read

Чулан
Перевод
Большинство сайтов переполнены мелким текстом, который больно читать. Почему? Нет никаких причин для втискивания всей информации на одном экране, это просто глупая коллективная ошибка, которая берет начало во времена, когда мониторы были очень маленькими.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры250
Комментарии 35

Автоматический контроль качества Java-кода

Java
Код, который пишет программист, должен быть рабочим – самое первое правило успешной работы, с которым согласится и сам программист, и все его начальники. Но, кроме того, что код должен просто работать, часто к нему предъявляются повышенные требования – наличие комментариев (внутренней документации), читаемость, быстроту внесения изменений, совместимость с явными и неявными стандартами. Всё то, что можно назвать качеством кода.

Однако, в отличие от работоспособности кода, которую можно оценить с помощью выполнения проверочных тестов, качество кода не является простой оценкой TRUE или FALSE. Более того, под качеством кода понимается набор субъективных оценок восприятия кода другим человеком. Однако давайте всё-таки попробуем как-то формализовать задачу оценки качества, и, при возможности, дать способ автоматического выполнения этой задачи.
Читать дальше →
Всего голосов 39: ↑37 и ↓2 +35
Просмотры22.7K
Комментарии 8

Почему читабельность кода имеет значение?

Совершенный код
Перевод
Понятно, что напрашивающийся (и правильный) ответ — «Потому что код приходится не только писать, а и читать». Едва ли этот ответ стоит целого поста, но автор им не ограничивается.

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

Впрочем, меня беспокоит не качество кода — не настолько, как напряжение зрения и случайные ошибки чтения, которые тоже определяют качество кода. Мы часто бьемся над ошибками, которых можно было бы избежать, если бы не спешка и недопонимание.

Разработчики не только пишут код — большую часть нашего времени мы добавляем, убираем и редактируем небольшие его фрагменты, фактически вносим мелкие изменения в огромный код. Независимые фрагменты кода, написанные с нуля, попадаются редко — если, конечно, мы не начинаем новый проект. Большинство наших проектов — наследие многих поколений разработчиков до нас. Что бы мы ни делали — добавляли новую функциональность или изменяли старую — нам приходится читать код, чтобы выяснить, какая команда что делает и как лучше всего реализовать нашу задумку. Даже при работе над совершенно независимым модулем или классом, как только мы написали первые строки, нам приходится возвращаться к ним снова и снова, чтобы вплетать в них новый код.

Читать дальше →
Всего голосов 80: ↑65 и ↓15 +50
Просмотры4.6K
Комментарии 28

Что такое «Понятный русский язык» с точки зрения технологий. Заглянем в метрики удобочитаемости текстов

«Информационная культура»СемантикаОткрытые данные
Так сложилось что в последние годы мне лично приходится всё больше и больше сталкиваться с различными государственными текстами, особенно законами и финансовыми документами вроде обоснований к бюджету, а также пытаться их переводить с нечеловеческого канцелярского языка в слова или визуальные схемы которые были бы понятны и мне и тем кому я потом рассказываю о том что это такое.



За всё это время у меня лично сложилось стойкое ощущение того что русский язык разделился на два его подвида — сухой канцелярский юридический официальный язык и «язык Интернета», с ново-образованными словами, жаргонизмами и значительной персонификацией. Вместе с постоянным чувством что «так дальше жизнь нельзя» всё это привело меня, вначале к поискам правильного названия того как это всё называется, а далее к тому что с этим могут делать люди умеющие программировать.

Немного истории


18 января 2011 года, Президент Обама выпустил новый указ, Executive Order, «E.O. 1356 — Improving Regulation and Regulatory Review» («Улучшение регулирования и рассмотрению вопросов регулирования»). В нем говорится, что "[наша система регулирования] должна обеспечить, чтобы правила были доступны, согласованы, написаны простым языком, и легко понимаемы.".

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

Понятный язык — это четкое, краткое написание предназначенное для того чтобы читатель понимал текст, как можно быстрее и как можно полнее. В нем избегаются избыточная подробность, запутанность речи и жаргон.
Читать дальше →
Всего голосов 26: ↑25 и ↓1 +24
Просмотры24K
Комментарии 42

Простой способ оценки понятности текста на русском языке

СемантикаОткрытые данные
Из песочницы
По сути, опубликованное ниже является моим комментарием к публикации «Что такое «Понятный русский язык» с точки зрения технологий. Заглянем в метрики удобочитаемости текстов». Поскольку я не могу оставлять комментарии, то пишу в «Песочницу».

Критерии оценки понятности текстов, которые были рассмотрены в посте, опираются на практически нулевые знания о языке, на котором эти тексты написаны: достаточно знать, как он делится на слова и предложения. Этот подход удобен в плане простоты вычислений, но не позволяет использовать много релевантных данных. Как мне кажется, в случае с русским языком очевидно, что еще можно использовать, и эти данные легкодоступны.
Читать дальше →
Всего голосов 33: ↑33 и ↓0 +33
Просмотры14.6K
Комментарии 20

Зачем нам нужен понятный язык?

«Информационная культура»Семантика
Зачем нам нужен понятный язык? Откуда вообще взялось это явление? Что такое «plain language» в мире и кто поддерживает это движение? На все эти вопросы я постараюсь ответить в этой заметке.

Предысторию вы можете прочитать в прошлой публикации на Хабре, где был рассказ про алгоритмы, используемые для оценки читабельности текстов. Эта заметка должна была быть в вводной к той, о технологиях.
Читать дальше →
Всего голосов 18: ↑13 и ↓5 +8
Просмотры8.6K
Комментарии 9

О неадекватности отбора программистов

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

Автор позиционирует себя как безусловного эксперта в подборе программистского персонала, иллюстрируя это разбором реальных и гипотетических ответов на одну даваемую им на собеседованиях задачку: составить PHP-скрипт, переставляющий в произвольной строке символы в обратном порядке. В конце он пишет:

«Уверяю вас — пользуясь этой задачкой (и, конечно, еще многими другими) я ещё ни разу серьёзно не ошибся с кандидатом. Ведь формальное знание PHP в кандидате — поверьте, далеко не главное. Значительно важнее — отношение к своему занятию, стремление к развитию, способность играть в команде, видение мира, если угодно. Мне гораздо интереснее, как человек решает задачу, чем её фактическое решение».


Парадоксально, что демонстрируемый им подход соответствует сему посылу с точностью до наоборот. Выстроенная им иерархия ответов — от самого отстойного до самого ценного, на самом деле, прямо противоположна истинной, и я берусь это показать.
Читать дальше →
Всего голосов 353: ↑288 и ↓65 +223
Просмотры21.9K
Комментарии 310

Как важно писать код, который могут читать люди

NIXJavaScriptПрограммирование
Перевод
Вам приходилось завершать проект одним махом, когда не было нужды снова смотреть в код? Вряд ли. Работая над старыми проектами, вам, вероятно, не хочется тратить время на выяснение, как работает этот код. Если код читабелен, то продукт легко сопровождать, а вы, ваши коллеги или сотрудники — счастливы.

Яркие примеры нечитаемого кода встречаются на соревнованиях JS1k, цель которых заключается в написании лучших JS-приложений, состоящих из 1024 символов или того меньше. То же самое можно сказать и про JSF*ck, крайне своеобразный стиль программирования, использующий только шесть разных символов для написания JS-кода. Глядя на выложенный на этих сайтах код, вы будете ломать голову, пытаясь понять, что здесь происходит. А представьте, каково это: написать подобный код и спустя месяц пытаться исправить баг.

Если вы регулярно сёрфите по сети или создаёте интерфейсы, то, вероятно, знаете, что для заполнения большой формы нужно много времени и терпения, которых хватает не всем пользователям. То же самое можно сказать и о коде. Чем легче его читать, тем приятнее долго работать с ним. Или как минимум не возникнет желания выкинуть компьютер в окно.

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

Оригинал статьи: https://www.sitepoint.com/importance-of-code-that-humans-can-read/
Читать дальше →
Всего голосов 30: ↑20 и ↓10 +10
Просмотры17.1K
Комментарии 10

Из-за тощих шрифтов интернет становится нечитабельным

Веб-дизайнТипографикаИнтерфейсыAccessibilityГрафический дизайн
Перевод
image

Пожилым людям трудно читать веб-страницы из-за изменений, произошедших со шрифтом в последние годы

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

В то время как раньше текст был рельефным и тёмным, и хорошо контрастировал с преимущественно белым фоном, теперь многие веб-сайты переходят на светло-серые или голубые шрифты.

Отмеченный наградами блоггер Кевин Маркс, основатель Microformats и бывший вице-президент веб-сервисов в BT, решил изучить проблему после того, как заметил, что стал испытывать всё больше трудностей при чтении текста на экране.
Читать дальше →
Всего голосов 41: ↑37 и ↓4 +33
Просмотры22.8K
Комментарии 42

Почему ранний возврат из функций так важен?

ПрограммированиеСовершенный код
Из песочницы
Привет, Хабр! Представляю вашему вниманию перевод статьи «Why should you return early?» автора Szymon Krajewski

image

В начале моего приключения в роли программиста мой код зачастую напоминал вермишель. В любых условных выражениях я только и делал, что сразу переходил к описанию верного исхода, оставляя на конец остальное. «Это работает, вот и все», — говорил я себе, а код продолжал расти, как на дрожжах. Тысячи написанных методов в итоге заставили меня задуматься, а не стоит ли поменять их внутреннюю логику, возвращая отрицательные результаты как можно раннее. Таким образом, я пришел к тому, что теперь называю правилом «неотложного провала».

Очевидно, что существует несколько подходов написания одной и той же функции. Например, как можно начать выполнение основной части сразу после положительного исхода условного оператора, так и можно сначала пробежаться по всем отрицательным исходам, возвращая ошибки из функции, а уже только потом перейти к основной логике. Иными словами, я открыл для себя разные стили написания условных конструкций.
Читать дальше →
Всего голосов 50: ↑46 и ↓4 +42
Просмотры27.2K
Комментарии 175

Как сделать код читабельным

ПрограммированиеСовершенный код
Перевод

Как сделать код читабельным


Когда-нибудь мы все писали (а некоторые и пишут) плохой код, и, надеюсь, мы все работаем над улучшением наших навыков, а не просто чтением статей вроде этой.


Зачем нам писать хороший код, а не просто производительный код?


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

Читать дальше →
Всего голосов 16: ↑7 и ↓9 -2
Просмотры3.2K
Комментарии 14

Что не так с вашей консольной программой?

Конференции Олега Бунина (Онтико)PythonПрограммированиеИнтерфейсыDIY или Сделай сам

Мы еще в школе научились вызывать функцию print. Что может пойти не так в консольной разработке? Да, и если бы не растущая сложность программ, проблем бы у нас не было до сих пор. А в реальности — то в тексте трудно найти нужную информацию, то он не влезает в экран по ширине и по длине, а от многочисленности цветов рябит в глазах.

Но как часто мы обсуждаем наши повседневные инструменты с точки зрения читабельности, хотя пишем под web и каждый день используем консольные утилиты? Сегодня Андрей Светлов расскажет, что со всем этим делать, и чем он пользуется для консолей. Помимо того, что Андрей  CPython Core developer и понемногу развивает Python, в свободное от работы время он эксперт по asyncio, со-автор aiohttp, yarl, multidict и прочим популярным библиотекам.

Читать далее
Всего голосов 49: ↑44 и ↓5 +39
Просмотры8.8K
Комментарии 18