https://github.com/vitkarpov/thespellchecker
Writing a real C++ program
https://github.com/vitkarpov/thespellchecker
Last synced: about 2 months ago
JSON representation
Writing a real C++ program
- Host: GitHub
- URL: https://github.com/vitkarpov/thespellchecker
- Owner: vitkarpov
- Created: 2014-06-09T17:33:33.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-03-25T17:20:38.000Z (about 10 years ago)
- Last Synced: 2025-01-17T23:19:45.245Z (3 months ago)
- Language: C++
- Homepage:
- Size: 266 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# The Spell Checker
```
____ ____ ____ _________ ____ ____ ____ ____ ____
||T |||h |||e ||| |||S |||p |||e |||l |||l ||
||__|||__|||__|||_______|||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/_______\|/__\|/__\|/__\|/__\|/__\|
____ ____ ____ ____ ____ ____ ____
||C |||h |||e |||c |||k |||e |||r ||
||__|||__|||__|||__|||__|||__|||__||
|/__\|/__\|/__\|/__\|/__\|/__\|/__\|```
Консольная утилита для проверки орфографии текстов.
### Зачем нужна эта программа?
Это учебная программа. Ее разработка специально разбита на 10 условных уроков — каждый зафиксирован тегом, чтобы можно было удобно переключаться между основными этапами разработки:
```
git co lesson-2
...
git co lesson-5
```По мере прохождения этапов в папке `doc` появляется очередной файл с описанием того, что сделано, фиксацией ключевых идей и описанием подходов.
Рассчитано на начинающих программистов, которые знают основы языка `C++`, но не имеют достаточного опыта в разработке реальных программ.
Будут рассмотрены следующие темы:
* проектирование и продумывание концепции;
* ОО архитектура: классы и их интерфейсы;
* обработка ошибок;
* использование стандартной библиотеки;
* ...Автор оригинальных уроков: [Neil Butterworth](https://bitbucket.org/neilb)
### Что в итоге получится
```
spc [-n] [[-d special.dict] …] [file …]
``````
article1.txt: 2 errors
7, thre, perhaps thre is a reaction
12, phiton, low-energy phiton is emitted
```### Уроки
* [Введение и предыстория: откуда взялась задача](doc/intro.md)
* [Глава 1](doc/lesson-1.md): проектирование
* [Глава 2](doc/lesson-2.md): класс Dictionary, ошибки компиляции и линковки,
* [Глава 3](doc/lesson-3.md): работа с файлами, обработка ошибок и производительность
* Глава 4
* Глава 5
* Глава 6
* Глава 7
* Глава 8
* Глава 9
* Глава 10### Файловая структура
```
bin
| spellchecker.exe
data
| sample-dictionary.dat
| ..
inc
| dictionary.h
| ...
doc
| lesson1.md
| lesson2.md
| ...
src
| dictionary.cpp
| main.cpp
| ...
```### Сборка
Для сборки в корне лежит `Makefile`. Требуется установленный `g++`.