Программирование на языке Ruby
Программирование на языке Ruby читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
{MyClass(7, 8, 9)=>[:p, :q] , MyClass(2, 3, 4)=>MyClass(5, 6, 7)}
Разумеется, можно настроить поведение по своему вкусу. Можно, например, печатать переменные экземпляра на разных строчках с отступами.
На самом деле в библиотеке
pp
pp
object_group
seplist
breakable
16.8. Заключение
В этой главе мы рассмотрели некоторые подходы к тестированию (преимущественно, к автономному тестированию компонентов). Мы познакомились с библиотекой
Test::Unit
Мы бросили беглый взгляд на отладчик Ruby, а также показали, как с помощью библиотеки
ruby-breakpoint
irb
Мы рассмотрели инструмент для анализа покрытия кода
rcov
Предположим, что вы работаете над программой, которую собираетесь предложить обществу. Что вы делаете по завершении тестирования? Пришло время задуматься над оформлением дистрибутивного пакета и способами его распространения. Этим мы и займемся в следующей главе.
Глава 17. Создание пакетов и распространение программ
Все больше и больше продуктов — и в первую очередь аспирин — выпускается в упаковке, защищенной до такой степени, что потребитель уже и воспользоваться ими не может.
Эта глава посвящена вопросу о том, как проявлять уважение к конечному пользователю своей программы. Если у вас конечного пользователя нет или вы не хотите казаться вежливым, можете пропустить ее.
Есть две вещи, о которых типичный программист не желает задумываться: документация и процедура установки. Ниже я попытаюсь убедить вас не пугаться ни того, ни другого. Нашлись люди, приложившие максимум усилий к написанию библиотек и инструментов, упрощающих решение этих задач.
Однако данная глава оказалась короткой. Дополнительную информацию о затронутых в ней темах можете почерпнуть, изучая сделанное другими.
Один из самых замечательных имеющихся инструментов — программа
RDoc
17.1. Программа RDoc
RDoc
RDoc
Замечательной особенностью
RDoc
Тем самым вы можете получить более или менее полезный HTML-файл из исходного текста, не содержащего никакой внутренней документации. Если раньше не пробовали, попробуйте сейчас.
Но это еще не все.
RDoc
Если просто вызвать
RDoc
doc
В листинге 17.1 приведен простой (почти ничего не содержащий) исходный файл. Все определенные в нем методы пусты. Но
RDoc
require ' foo'
# Внешний класс MyClass.
class MyClass
CONST = 237
# Внутренний класс MyClass::Alpha...
class Alpha
# Класс The MyClass::Alpha::Beta...
class Beta
# Метод класса Beta mymeth1.
def mymeth1
end
end
# Метод класса Alpha mymeth2.
def mymeth2
end
end
# Инициализировать объект.
def initialize(a,b,c)
end
# Создать объект со значениями по умолчанию
def self.create
end
# и метод экземпляра.
def do_something
end
end
Рис. 17.1. Выходной файл, формируемый программой RDoc по исходному тексту в листинге 17.1
В этом разделе мы обсудим еще две полезные функции. Имя каждого метода является ссылкой, при щелчке по которой открывается исходный текст метода. При изучении библиотеки это оказывается исключительно полезно - документация API ссылается на сам код.
Кроме того, когда программа RDoc распознает URL, она помещает в выходной файл гиперссылку. По умолчанию текст гиперссылки совпадает с самим URL, но это можно изменить. Если перед URL поместить в фигурных скобках какой-нибудь описательный текст, то он и станет содержимым ссылки. Если текст состоит из одного слова, фигурные скобки можно опустить.
17.1.1. Простая разметка
Если вы хотите «разукрасить» вывод, то редактировать HTML-файлы вручную необязательно. На самом деле даже нежелательно, так как при повторной генерации документации ваши изменения будут затерты.