Для чего необходимо расширение файла для увеличения объема для улучшения читаемости
Также делимся с вами традиционным переводом полезного материала.
3 ответа
Я считаю, что большим преимуществом методов расширения является возможность обнаружения. Если кто-то не знает, что один из членов его команды создал метод GetDescendent где-то в служебном классе, он никогда не воспользуется им. Однако, если этот метод начинает отображаться в Intellisense или в обозревателе объектов, есть большая вероятность, что они наткнутся на него. Если вы начнете более широко использовать методы расширения, люди начнут использовать упомянутые мною инструменты для поиска расширений, которые добавляют ценность.
Большинство, если не все методы расширения попадают в эту категорию в той или иной степени, поскольку они не могут работать с внутренними компонентами класса больше, чем с вашей статической функцией. Во всяком случае, любой метод расширения можно переписать в статический класс с дополнительным параметром, представляющим объект (возможно, это именно то, что в любом случае представляет собой метод расширения).
Для меня это полностью вопрос стиля: в приведенном вами примере я бы, вероятно, перешел на метод расширения. Я думаю, что здесь важный вопрос: Я бы написал эту функцию как часть класса, если бы переопределил класс, и имеет ли это смысл? Если да, тогда переходите к если нет, то рассмотрите другое решение.
Метод расширения существует только для улучшения читаемости - это просто сокращение синтаксиса, которое позволяет вам, указав ключевое слово this в первом аргументе, позволяет вам вызывать метод для рассматриваемого экземпляра объекта. Так что я думаю, что это вполне разумно.
Расширение файла или расширение имени файла представляет собой суффиксом в конце названия файла на устройстве. Как правило, состоит из двух-четырех символов.
Расширения файлов используются операционной системой, чтобы определить, какие приложения связаны с какими типами файлов – другими словами, какое приложение открывается при двойном щелчке по файлу.
Например, файл с именем «awesome_picture.jpg» имеет расширение jpg . Когда вы открываете этот файл в Windows, операционная система ищет любое приложение, связанное с файлами JPG, открывает это приложение и загружает файл.
Длина текста
Как уже было сказано выше, слишком длинный и не разделенный на абзацы текст мало кто читает. Именно поэтому необходимо соблюдать негласное правило, которое говорит о восьми-десяти тысячах символов. Именно такой объем статьи будет оптимальным для статьи, рассчитанной на широкую аудиторию читателей. При этом, должна присутствовать вступительная часть, объемом до одной тысячи символов. Этого будет достаточно для передачи основной мысли текста, его актуальности и полезности для читателя.
Размер шрифта
Правила подбора размера шрифта или кегля знакомы многим копирайтерам еще со времен учебы в ВУЗе. Здесь все очень просто – для лучшего восприятия написанного используют 14 или 12 размер шрифта. Они наиболее подходят для чтения даже тем, у кого проблемы со зрением. Используя текст большего или меньшего размера, текст становиться труднее для восприятия. Что касается использования верхнего регистра или заглавных букв в написании заголовка, то это лишь оттолкнет читателя, так как будет слишком давить на него и привлекать излишнее внимание.
Делаем выводы
Выводы нужно делать не только в конце всего текста, но и после каждого смыслового подзаголовка или абзаца. Это позволяет закрепить основные мысли уже прочитанного текста в сознании читателя. В конце делаем выводы по теме всей статьи, отвечаем на вопросы, даем рекомендации и так далее. Так вы сможете выстроить диалог с читателем и сжать основную суть прочитанного до одного абзаца, что будет очень удобно для восприятия.
Итак, мы с вами описали десять основных правил повышения читабельности текста, разобрав каждый. Но, есть еще один, заключительный пункт, который подводит итог редактированию текста и позволяет повысить читабельность текста – это взгляд со стороны.
Смысл заключается в том, чтобы примерить на себя роль читателя и просмотреть свою работу еще раз. Проверьте орфографию и пунктуацию. Если есть абзацы, которые читаются «туго», их нужно разбить на более мелкие части.
Если в тексте выделялись его составные части, подзаголовки, абзацы или ключевые слова и выражения, прочтите их отрыве от основного текста. Сохраняется ли основная мысль текста, его смысл? Если же выделанные фрагменты отвлекают вас, то стоит уменьшить их количество.
Ну и, конечно же, пройдитесь еще раз по десяти пунктам, примените эти правила к вашей работе. Есть ли то, что вас раздражает или не вписывается в текст? Если такие фрагменты есть, отредактируйте их.
Теперь вы владеете основными правила увеличения читабельности текста. Применяя их в своей работе, копирайтер сможет поднять привлекательность своего текста для читающей аудитории в несколько раз, по сравнению с теми, кто пишет интуитивно и не обдуманно, не уделяя должного внимания мелочам, которые так важны в работе копирайтера.
Каково общее мнение об использовании методов расширения, которые не служат никакой другой цели, кроме повышения удобочитаемости?
Без использования методов расширения у нас может быть метод
Это можно было бы назвать с
Хотя в этом нет ничего плохого, я считаю, что нотация instance.method () более читабельна, поэтому я мог бы подумать о том, чтобы сделать это методом расширения с этой подписью
Позволяя его вызывать с
Итак, мой вопрос: считаете ли вы это разумным или злоупотреблением методами расширения. Если бы дело было просто в другом объявлении функции, я бы не колебался; но тот факт, что использование метода расширения требует, чтобы он был закодирован в другом, статическом классе, заставляет меня задуматься, стоит ли это усилий или нет. Пример, который я использую выше, является довольно общим и может иметь заслуги в качестве метода расширения, который будет использоваться в нескольких местах, но часто это не так, и я бы кодировал статический класс, содержащий расширение, в том же файле, что и единственный класс, который его использует.
Деление на абзацы
Текст обязательно необходимо поделить на абзацы. Так он будет легче восприниматься читателем. Для того чтобы закончить мысль, будет достаточно 5-6 предложений, которые необходимо отделить абзацем от остального текста. Сплошной текст читают очень редко.
Что произойдет, если изменить расширение файла
Исходя из того, о чем мы говорили в предыдущем разделе, то, что происходит при изменении расширения файла, зависит от того, какую операционную систему Вы используете.
В Windows, если вы удалите расширение файла, Windows больше не сможет определять, что делать с этим файлом. При попытке открыть файл Windows спросит вас, какое приложение вы хотите использовать.
В этом примере блокнот (или какой-либо текстовый редактор) действительно открыл наш «coolpic.txt» файл, но это просто искаженный и беспорядочный текст.
По этой причине Windows предупредит Вас, когда вы пытаетесь изменить расширение файла, и вы должны подтвердить действие.
Если вы используете macOS, произойдёт что похожее. При попытке изменить расширение файла также появится предупреждение.
Что отличает macOS от Windows, если вы пытаетесь удалить расширение файла в macOS (по крайней мере, в Finder), macOS просто добавит то же самое расширение обратно, используя данные MIME.
Если вы действительно хотите изменить тип файла – например, вы хотите изменить изображение из JPG в формат PNG – вам нужно использовать программное обеспечение, которое может фактически конвертировать файл.
Терминология Kotlin: функции-расширения и свойства-расширения
Когда вы использовали какой-либо API-интерфейс, хотелось ли вам добавить в него новые функции или свойства?
Для решения этой задачи вы можете использовать наследование (создать новый класс на базе существующего) или функцию, которая получает в качестве входного параметра экземпляр класса. В языке программирования Java эта задача обычно решается с помощью класса Utils , но он не виден при использовании функции автозавершения кода, что затрудняет поиск и делает использование этого класса менее интуитивно понятным. Оба этих подхода можно использовать для решения нашей задачи, но ни один из них не дает понятный и хорошо читаемый код.
К счастью, на помощь приходит Kotlin с функциями-расширениями и свойствами-расширениями. Они позволяют добавлять в класс нужный функционал без необходимости использовать наследование или создавать функцию, принимающую экземпляр класса в качестве параметра. В Android Studio эти расширения видны при использовании функции автозавершения кода, в отличие от соответствующего аналога в языке Java. Расширения можно использовать в сторонних библиотеках, Android SDK или пользовательских классах.
Читайте дальше, если хотите узнать, как повысить читаемость вашего кода с помощью расширений!
Вызов функций-расширений из кода на языке Java
Функции-расширения не являются частью расширяемого класса, поэтому при попытке вызвать их из Java мы не найдем их среди методов расширяемого класса. Как мы увидим позже, расширения декомпилируются в статические методы файла, в котором вы их определили, и получают в качестве входного параметра экземпляр расширяемого класса. Вот как бы выглядел вызов функции-расширения printDogInformation() из Java:
Функции-расширения для типов, допускающих неопределенное значение
Расширения можно также использовать для работы с типами, допускающими неопределенное значение (nullable). Вместо того чтобы делать проверку на null перед вызовом функции-расширения, мы можем создать функцию-расширение для nullable-типа и реализовать проверку на null в коде этой функции. Вот так будет выглядеть функция printInformation() , использующая тип, допускающий неопределенное значение.
Как видите, не нужно делать проверку на null перед вызовом функции printInformation() .
Какие типы расширений существуют
Существует много различных типов расширений файлов – слишком много, чтобы перечислить в одной статье – мы приведём несколько примеров общих расширений файлов, которые наиболее часто встречаются на компьютерах пользователей:
- doc/docx: используется редактором Microsoft Word; .doc был оригинальным расширением, используемым для документов Word, но Microsoft изменила формат, когда дебютировал Word 2007. Документы Word теперь основаны на формате XML, поэтому в конце была добавлена x.
- xls/xlsx: в таблицах Microsoft Excel.
- png: портативная сетевая графика – формат файла изображения без потерь.
- htm или html: расширение файл веб-страницы.
- pdf: портативный формат документов, введенный Adobe и используемый для поддержания форматирования в распределенных документах.
- exe: расширение исполняемого файла, с помощью которого можно запустить программу.
Как мы сказали, это всего лишь небольшое количество расширений файлов. Их буквально тысячи.
Использование свойств-расширений
Представим, что нашему приюту для животных также нужно знать, подходит ли собака по возрасту для передачи в новую семью. Для этого мы реализуем свойство-расширение isReadyToAdopt, которое будет показывать, превышает ли возраст собаки 1 год.
Вы можете обратиться к этому свойству-расширению так же, как вы обращаетесь к любому другому свойству в классе Dog .
Использование функций-расширений
Представим, что у вас есть класс Dog , описывающий собаку, у которой есть имя, порода и возраст.
Допустим, некий приют для животных хочет расширить класс Dog , чтобы в нем была функция, которая печатает информацию о собаке, если кто-то захочет забрать ее себе. Для этого мы реализуем функцию-расширение, которая объявляется как обычная функция, но с одной особенностью: перед именем функции добавляется имя расширяемого класса с точкой. В коде функции вы можете использовать служебное слово this для обращения к объекту-получателю, и у вас есть доступ ко всем членам класса-получателя в пределах функции.
Вы можете вызвать функцию printDogInformation() так же, как вы вызываете любую другую функцию в классе Dog .
Списки
Каждый копирайтер знаком с таким инструментом, как списки при написании статей. Списки могут быть маркированными или нумерованными. Также можно ставить значок «-» вместо базовых списков в меню Word. Списки, также как и выделение частей текста, позволяют акцентировать внимание читателя и показать лишь главное, без использования большого количества текста. Список не должен быть слишком большим, будет достаточно 7-8 пунктов, иначе он будет хуже восприниматься при прочтении.
Заключение
В целом расширения являются полезным инструментом, который следует использовать внимательно. Используя их, следуйте указанным ниже рекомендациям, и ваш код станет более понятным и читаемым.
Сложности с чтением текста можно испытывать и при работе с широкоэкранными 27-дюймовыми мониторами, и с обычными 19-дюймовыми. Зачастую читаемость ухудшается при увеличении разрешения, поскольку это приводит к уменьшению размера текста. Чтобы понять, почему это происходит, надо вникнуть в суть параметра DPI.
При печати на принтере количество точек на дюйм (DPI) определяет качество печати. В целом, чем выше DPI, тем качественнее печать, поскольку изображение и текст выглядят четче. Например, изображение высокого разрешения обычно выглядит гораздо лучше при печати с разрешением 1200 × 600 DPI, чем при печати с разрешением 300 × 300 DPI. Однако если вы прибегнете к масштабированию, чтобы отпечатать изображение размером 9 × 12 см как изображение размера 10 × 15 см, результат, как правило, плачевен – из-за масштабирования изображение становится зернистым.
На компьютерах под управлением Windows для большинства мониторов по умолчанию устанавливается разрешение 96 DPI. В Windows 7, 8, 10 не является исключением из этого правила и по умолчанию отображает все элементы пользовательского интерфейса, включая текст, с разрешением 96 DPI. Изменяя разрешение, вы изменяете и масштаб элементов интерфейса. Например, если оптимальное разрешение монитора 1920 × 1200, а работает он в разрешении 800 × 600, элементы интерфейса будут выглядеть большими и зернистыми, поскольку вы заставляете компьютер растягивать элементы с разрешением 800 × 600 на пространство, оптимизированное для разрешения 1920 × 1200 точек.
Проще всего определить оптимальное разрешение умножением ширины и высоты экрана в дюймах на 96. Допустим, 27-дюймовый монитор имеет 20 дюймов в ширину и 12,5 в высоту. В этом случае, оптимальным для него будет разрешение 1920 × 1200. Однако в этом случае текст и элементы интерфейса будут выглядеть очень мелкими, и вам придется изменять настройки для улучшения читаемости. Один из способов сделать это – воспользоваться средствами приложений. Например, в Microsoft Word есть кнопка Масштаб для масштабирования текста.
Нередко авторы, получая очередное задание от заказчика, сталкиваются с так называемым «техническим заданием», в котором последний указывает свои пожелания к выполнению работы. Среди требований заказчик часто указывает на такой пункт, как читабельность текста. Что же это такое и как добиться читабельности текста?
Читабельностью называют простоту восприятия текста большинством читателей, даже теми, кто не особо разбирается в теме. Для этого текст должен быть понятным, логичным и, по возможности, как можно более кратким. В копирайтинге, чтобы добиться высокой читабельности текста, существуют определенные правила написания и оформления текстов. Давайте разберемся, при помощи каких правил можно добиться высокой читабельности текста.
Длина предложений
Составляя предложение, следует помнить о лаконичности. Не стоит писать слишком длинное предложение, используя сложные обороты. Это только перегружает читателя. Лучше разбить вашу мысль на пару предложений. Так она станет проще для восприятия. Оптимальная длина предложения около 130-140 символов. В том случае, если без сложных предложений не обойтись, попробуйте чередовать их с более простыми. Так вы сможете разбавить текст и обратить внимание читателя на некоторые детали.
Правила создания читабельного текста
Грамотно подобранный тип шрифта
Шрифт – это то, на что обращает внимание читатель после заголовка. Правильно подобранный шрифт повышает читабельность текста в несколько раз. Необходимо уметь подбирать шрифт в зависимости от типа текста или его тематики, ресурса, на котором он будет размещен. Также следует обратить внимание использование нескольких шрифтов в тексте. В идеале, допустимо использовать до двух типов шрифтов в тексте – один для основного текста, второй для заголовков и подзаголовков. Негативно скажется на восприятии текста использование большего количества шрифтов, при котором части текста будут «прыгать» от абзаца к абзацу. Оптимальным решением станет использование шрифтов Calibri и Times New Roman. Они легко воспринимаются читателем, и в то же время работа выглядит солидно и эстетично.
Внутреннее устройство расширений
Мы можем декомпилировать функцию printDogInformation() в Android Studio. Для этого нужно выбрать в меню пункт Tools/Kotlin/Show Kotlin Bytecode (Инструменты/Kotlin/Показать байт-код Kotlin) и нажать кнопку Decompile (Декомпиляция). В декомпилированном виде метод printDogInformation() будет выглядеть так:
В реальности функции-расширения являются обычными статическими функциями, которым в качестве входного параметра передается экземпляр класса-получателя. Они не имеют никакой другой связи с классами-получателями. Именно поэтому отсутствуют резервные поля — такие функции на самом деле не добавляют члены в класс.
Терминология Kotlin: функции-расширения и свойства-расширения
Когда вы использовали какой-либо API-интерфейс, хотелось ли вам добавить в него новые функции или свойства?
Для решения этой задачи вы можете использовать наследование (создать новый класс на базе существующего) или функцию, которая получает в качестве входного параметра экземпляр класса. В языке программирования Java эта задача обычно решается с помощью класса Utils , но он не виден при использовании функции автозавершения кода, что затрудняет поиск и делает использование этого класса менее интуитивно понятным. Оба этих подхода можно использовать для решения нашей задачи, но ни один из них не дает понятный и хорошо читаемый код.
К счастью, на помощь приходит Kotlin с функциями-расширениями и свойствами-расширениями. Они позволяют добавлять в класс нужный функционал без необходимости использовать наследование или создавать функцию, принимающую экземпляр класса в качестве параметра. В Android Studio эти расширения видны при использовании функции автозавершения кода, в отличие от соответствующего аналога в языке Java. Расширения можно использовать в сторонних библиотеках, Android SDK или пользовательских классах.
Читайте дальше, если хотите узнать, как повысить читаемость вашего кода с помощью расширений!
Выделение главного
Для привлечения внимания читателя к какой-либо важной мысли или высказыванию, используйте выделение. Это может быть жирный шрифт, курсив или нижнее подчеркивание слова. Каждый из этих инструментов по-своему уникален и придает тексту большую эмоциональность. Можно чередовать использование этих инструментов в одном тексте.
Особенностью выделения частей текста является то, что при его наличии в тексте, читатель может акцентировать внимание только на выделенных частях статьи, при этом игнорировать прочтение остального текста. Это необходимо учитывать, если выделенные фрагменты передают суть изложенного не полностью.
Выравнивание текста
Как уже многие знают, к тексту может быть применено выравнивание по центру, по ширине или по правому и левому краю. Следует сказать, что выравнивание по ширине не позволяет достаточно разграничить части текста. В остальном, все индивидуально и будет зависеть от тематики и целей написания статьи.
Как увидеть расширения моих файлов
По умолчанию Windows показывает расширения файлов. Некоторое время назад – в Windows 7, 8 и даже 10 – это было не так, но, к счастью, они изменили настройки по умолчанию. Мы говорим, к счастью, потому что считаем, что отображение расширения файлов не только полезно, но и повышает безопасность. Без отображения расширений файлов бывает трудно сказать, действительно ли этот PDF-файл или какой-то вредоносный исполняемый файл.
Расширения файлов не отображаются в macOS по умолчанию. Причина этого заключается в том, что macOS, на самом деле, не использует расширения так же, как Windows.
Однако, вы можете сделать так, чтобы macOS показывал расширения файлов, и это не плохая идея. Если Finder открыт, просто перейдите в Finder → Preferences → Advanced , а затем установите флажок Show all filename extensions .
Переопределение функций-расширений
Невозможно переопределить существующую функцию-член класса. Если определить функцию-расширение с такой же сигнатурой, что и у существующей функции-члена класса, то всегда будет вызываться функция-член, так как то, какая именно функция вызывается, зависит от объявленного статического типа переменной, а не от типа значения данной переменной во время выполнения кода. Например, нельзя расширить функцию toUppercase() , применяемую к строковому типу (String), но можно расширить функцию convertToUppercase() .
Следствие такого поведения можно увидеть, если попытаться расширить библиотечный тип, которым вы не владеете, когда владелец библиотеки добавил в библиотеку метод с той же сигнатурой, что и у вашего расширения. В этом случае будет вызываться библиотечное расширение, а вы получите только информацию о том, что ваша функция-расширение стала неиспользуемым методом.
Правильно составленный заголовок
Заголовок играет огромную роль в повышении читабельности текста. Здесь необходимо соблюдать баланс символов. К примеру, слишком длинный заголовок вряд ли заинтересует читателя, а слишком короткий не сможет отразить сути статьи. Необходимо соблюдать баланс и придумать средний длины заголовок (около 30-40 символов).
Читайте также: