Поговорим о читабельности кода.

задняя часть внешний интерфейс

предисловие

У опытных программистов похоже нет непротиворечивого понимания читабельности кода.В последнее время я часто сталкиваюсь с несогласованностью читабельности и понимания.Хочу начать статью с рассказа на эту тему.Эта статья не является статьей.Для научно-популярные статьи или выводы, вы можете добавить свое понимание читабельности кода в комментариях.В основном тексте я просто объясняю некоторые конфликты, с которыми я столкнулся, и мое текущее понимание читабельности кода.

текст

«код» и «читабельность»

Обычно, если вы только что поработали какое-то время, если вы записываете такой код

const a = 1

Опытный коллега за вашим соседним столом, вероятно, укажет, что имя вашей переменной нечитаемо, потому что оно не имеет смысла Что такое и почему 1?

Вы можете быть сбиты с толку, что не так с a?Или длинное имя переменной обязательно более читабельно?

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

удобочитаемость

Когда мы были молоды, мы писали, читали картинки и разговаривали. Я помню, учитель учил нас, что предложения, которые нужно писать, должны быть гладкими и связными. Древняя китайская литература, особенно классический китайский, всегда славилась своей простотой.Подозреваемый Галактика Падения Девяти НебесЭто может отражать величественный смысл картины, «Роман о трех королевствах» использовал так много слов для описания Чжугэ Ляна, а затем только 96 слов в «Троецарствиях» Чэнь Шоу.

Я помню, это было 96, не бейте меня, если я ошибаюсь.

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

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

Читаемость кода, что у нас будет только один такой стандарт еще?:

if(a === '1'){
  return true
} else {
  return false
}

if(a === '1') return true

return a === '1'

Как вы думаете, что более читабельно?

Просто обсуждение читабельности не объективно, а субъективно

В конце концов, мы занимаемся инженерией.Что касается разработки программного обеспечения, акцент на читабельности кода должен иметь цель.Какова цель,и какова предыстория обсуждения читабельности.

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

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

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

Можно ли использовать пиньинь для именования переменных?


const libraryBooksTotalCount = 0

const tuShuGuan_shuJi_zongShu = 0

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

Итак, по сравнению с английским именованием, является ли пиньинь менее удобочитаемым? Что, если люди, которые поддерживают код, все китайцы? Когда мы подчеркиваем удобочитаемость кода, чтобы лучше понять смысл кода, пиньинь удобочитаемый Хороший секс или хорошая удобочитаемость английского языка?

Если эти коды не предназначены для разработки системы управления библиотекой, можно ли в настоящее время читать пиньинь или английский язык?

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

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

Таким образом, я понимаю, что читаемость кода — это не просто объективный стандарт, а комплексный продукт ряда факторов, таких как бизнес-фон, цели обслуживания читабельности и технические спецификации.

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

позже

Это открытая тема, вы можете оставить свое мнение в разделе комментариев 😁