Идеальный программист. Как стать профессионалом разработки по



Download 4,8 Kb.
Pdf ko'rish
bet122/128
Sana11.02.2023
Hajmi4,8 Kb.
#910052
1   ...   118   119   120   121   122   123   124   125   ...   128
Bog'liq
robert sesil martin-idealnij programmist-1490197390

Детализация
Программисты управляют подробностями. Да, именно этим мы и
занимаемся. Мы описываем поведение системы в мельчайших
подробностях. Для этой цели мы используем текстовые языки, потому
что они чрезвычайно удобны (для примера возьмите хотя бы
английский).
Какими же подробностями мы управляем?
Вы знаете, чем различаются два символа \n и \r? Первый, \n –
перевод строки (line feed), а второй, \r – возврат каретки (carriage
return). Что такое «каретка»?
В 1960-х и начале 1970-х годов основным устройством вывода для
компьютеров был телетайп. Модель ASR33
[55]
была самой


распространенной.
Устройство состояло из печатающей головки, которая могла
печатать до 10 символов в секунду. Печатающая головка состояла из
цилиндра, на котором были нанесены рельефные символы. Цилиндр
поворачивался так, чтобы к бумаге был обращен правильный символ,
после чего молоточек ударял по цилиндру и прижимал его к бумаге.
Между цилиндром и бумагой проходила красящая лента, краска с
которой переносилась на бумагу в виде символа.
Печатающая головка перемещалась на каретке. С каждым
символом каретка сдвигалась на одну позицию вправо, вместе с ней
смещалась и печатающая головка. Когда каретка доходила до конца 72-
символьной строки, каретку приходилось возвращать в начало строки,
отправляя символ возврата каретки (\r = 0x0D); без этого печатающая
головка продолжала бы печатать символы в 72 столбце, и от
многократной печати там появился бы черный прямоугольник.
Конечно, этого было недостаточно. Возврат каретки не приводил к
смещению бумаги к следующей строке. Если бы после возврата
каретки не передавался символ перевода строки (\n = 0x0A), то новая
строка была бы напечатана поверх старой.
Итак, для телетайпа ASR33 строки должны были завершаться
последовательностью «\r\n». Однако и здесь была необходима
осторожность, потому что возврат каретки мог занять более 100
миллисекунд. Если ограничиться отправкой «\n\r», то следующий
символ мог оказаться напечатанным во время обратного хода каретки,
а в середине строки появился бы смазанный символ. Для надежности
символы конца строки часто дополнялись одним или двумя
символами «забой» (0xFF).
[56]
В 1970-е годы, когда телетайпы стали постепенно выходить из
употребления, в операционных системах UNIX последовательность
конца строки сократилась до \n. Однако другие операционные системы
– например DOS – продолжали использовать обозначение \r\n.
Когда вам в последний раз попался текстовый файл,
использующий «неправильное» обозначение? Я сталкиваюсь с этой
проблемой не реже раза в год. Два идентичных файла с исходным
кодом не сравниваются, а их контрольные суммы различаются, потому
что в них используются разные завершители строк. Текстовые
редакторы некорректно переносят слова или разделяют строки


двойным интервалом, потому что они интерпретируют \r\n как две
строки. Некоторые программы понимают \r\n, но не распознают \n\r…
И так далее.
Вот что 
я имею в виду под 
детализацией
. Попробуйте-ка
закодировать логику обработки завершителей строк на UML!

Download 4,8 Kb.

Do'stlaringiz bilan baham:
1   ...   118   119   120   121   122   123   124   125   ...   128




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish