lqp - Post a comment
( Read Comments )
TimeText
12:51 am
[info]lqp

[Link]

Читаемость кода
В последнее время снова начал читать книжки по программированию и около.

В современной философии программирования высшей ценностью является "ясность и читаемость кода", ради которой полагается жертвовать едва ли не всем остальным, что есть в программировании. Вроде бы логично. Однако есть нюансы

*) Читаемость кода есть функция от уровня и характера образования читающего субьекта. Код, кристально ясный для Эдгара Дейкстры или Дональда Кнута, будет запутанно-непонятным для начинающего уеб-погромиста,научившегося жабаскрипту на краткосрочных курсах кулинарного техникума.

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

*) Читаемость кода есть функция от количества содержащегося в этом коде информации. Алгоритм, расписанный на 10 экранов всегда будет "более читаемым" в пересчете на экран текста, чем тот же алгоритм, расположенный на одном экране. Однако далеко не факт, что во втором случае понимание алгоритма целиком будет легче или быстрее, чем во втором. А так да, программист живенько топчет кнопки со стрелочками, процесс идет...

Что отсюда следует я не очень уверен. Но у меня есть сильные сомнения, такая ли уж это безусловная ценность для языка - быть легко понятным вышеупомянутому выпускнику кулинарного техникума?
Reply:
 
From:
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message:



Notice! This user has turned on the option that logs your IP address when posting.
Powered by LJ.Rossia.org