Skip to content

Dodo888/01-quality

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Качество кода

Домашка 1. Чистый код

Домашка 2. Освоение Git

От простых и поверхностных способов к более сложным и глубоким:

  1. Пройти супер-краткий гайд
  2. Скачать на рабочий стол Git Cheat Sheet
  3. Пройти интерактивный учебный курс от github и schoolacademy по основам git.
  4. Решить практическую задачу на работу с ветками.
  5. Пройти игру-квест https://github.com/hgarc014/git-game
  6. Пройти интерактивную игру про работу с ветками http://pcottle.github.io/learnGitBranching/
  7. Прочитать официальную книгу по git: http://git-scm.com/book/ru/v2 (первые три главы обязательны)

Домашка 3. Задача на программирование

Напишите процессор простого markdown-подобного языка разметки.

Описание языка, он же пример файла с разметкой.

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

Задача

Создайте консольное приложение, принимающее в качестве аргумента имя исходного файла в markdown-подобной разметке, и генерирующее в директории программы html-файл, полученный после процессинга исходного файла по описанным правилам.

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

Соблюдайте следующий процесс

  • Сначала проведите начальное проектирование. Определите какие будут классы и какие в них будут методы. Не пишите внутренности методов на этом этапе.
  • Пишите код метода, параллельно создавая модульный тест на этот метод.
  • Придумывайте тесты по одному. Старайтесь каждый раз придумывать как можно более простой тест, который позволит максимально просто продвинуться в реализации задачи.

Тесты как спецификация

  • Пишите тесты так, чтобы их имена читались как спецификация на язык разметки. У вас должна получиться более точная и полная спецификация, чем в файле sample.txt.
  • Уделите внимание правильному порядку тестов, чтобы их было удобно читать как спецификацию.
  • Каждый тест должен быть в формате Arrange—Act—Assert.

git

Сделайте fork этого репозитория и ведите всю работу в нем.

Разбейте работу на отдельные (но не очень мелкие) подзадачи и делайте по отдельному коммиту на каждую подзадачу.

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 91.6%
  • HTML 8.4%