docs/policies/style_sheet.md
|Data | Versão | Descrição | Autor |
|:----------:|:------:|:--------------------:|:-----------------:|
| 26/09/2018 | 1.0 | Criação do Documento de Folha de Estilo | Bruna Pinos |
# Sumário
>[1. Nomes](#1-nomes)
- >[1.1. Intents](#11-intents)
- >[1.2. Actions](#12-actions)
- >[1.3. Utterances](#13-utterances)
- >[1.4. Entities](#14-entities)
- >[1.5. Arquivos](#15-arquivos)
>[2. Formatação](#2-formatacao)
## 1. Nomes
<p align="justify">  Os nomes de todos os componentes do código deve ser em <b>inglês</b>.</p>
### 1.1. Intents
<p align="justify">  Intens devem ser compostas por verbos conjugados na <b>3˙ pessoa do singular</b>, no <b>presente do indicativo</b>. Isso deve indicar que o usuário está realizando uma tarefa, no sentido literal, com a intenção de algo.</p>
``` md
// Bom exemplo
* knows_daily_menu
* asks_school_certificate
// Mau exemplo
* daily_menu
* saber_sobre_o_cardapio
```
### 1.2. Actions
<p align="justify">  As Actions devem ser uma resposta às intents correspondentes. Logo, também serão compostas por verbos conjugados na <b>3˙ pessoa do singular</b>, no <b>presente do indicativo</b>, porém iniciadas por <b>action</b>.</p>
* Deste modo, está descrito como seria no arquivo de _*stories*_:
``` md
// Bom exemplo
- action_gives_daily_menu
- action_explain_school_certificate
// Mau exemplo
- action_daily_menu
- saber_sobre_o_cardapio
- knows_weekly_menu
```
* Nos arquivos de _*actions*_, como classe, é necessário estar assim:
``` py
// Bom exemplo
class ActionGivesDailyMenu(Action)
class ActionExplainSchoolCertificate(Action)
// Mau exemplo
class action_daily_menu(Action)
class KnowsWeeklyMenu(Action)
```
### 1.3. Utterances
<p align="justify">  As Utterances seguem o estilo das Actions nos arquivos _*stories*_. </p>
### 1.4. Entities
<p align="justify">  Entities serão substantivos que representam o objeto que se quer armazenar nos <i>slots</i>. Sempre será genérico, pois normamente representa uma categoria.</p>
``` md
// Bom exemplo
- meal
- period
- name
// Mau exemplo
- lunch // não genérico
- school_certificate // não genérico
```
### 1.5. Arquivos
<p align="justify">  Nas pastas de <i><b>actions</b></i> <i><b>intents</b></i> e <i><b>stories</b></i>, deve ter arquivos referentes a cada contexto. Ou seja, temos um arquivo para intents gerais, e outro referentes a refeição</p>
``` md
// Bom exemplo
/stories
* general.md
* menu.md
* documents.md
// Mau exemplo
/intents
* nlu.md
```
## Fomatação
<p align="justify">   A formatação de todos os arquivos serão feitas usando PEP8. Os links encontram-se abaixo:</p>
> [PEP8](https://www.python.org/dev/peps/pep-0008/)
> [5 min guide to PEP8 - Pybit](https://pybit.es/pep8.html)