Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aluno #175 #175

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .vscode/.easycpp
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This file is created by Easy C++ Projects, please ignore and do not delete it
28 changes: 28 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"version": "0.2.0",
"configurations": [


{
"name": "C++ Debug (gdb)",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/main",
"preLaunchTask": "Build C++ project",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
6 changes: 6 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"files.associations": {
"*.tpp": "cpp"
},
"terminal.integrated.shell.windows": "cmd.exe"
}
31 changes: 31 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Build C++ project",
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"command": "bash",
"args": [
"-c",
"make"
]
},
{
"label": "Build & run C++ project",
"type": "shell",
"group": {
"kind": "test",
"isDefault": true
},
"command": "bash",
"args": [
"-c",
"make run"
]
}
]
}
13 changes: 0 additions & 13 deletions Cliente.cpp

This file was deleted.

21 changes: 0 additions & 21 deletions Cliente.hpp

This file was deleted.

27 changes: 0 additions & 27 deletions Encomenda.hpp

This file was deleted.

31 changes: 0 additions & 31 deletions EncomendaNormal.hpp

This file was deleted.

33 changes: 0 additions & 33 deletions EncomendaRelampago.hpp

This file was deleted.

23 changes: 23 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
CXX := g++
CXX_FLAGS := -Wall -Wextra -std=c++17 -ggdb

BIN := bin
SRC := src
INCLUDE := include
LIB := lib

LIBRARIES :=
EXECUTABLE := main


all: $(BIN)/$(EXECUTABLE)

run: clean all
clear
./$(BIN)/$(EXECUTABLE)

$(BIN)/$(EXECUTABLE): $(SRC)/*.cpp
$(CXX) $(CXX_FLAGS) -I$(INCLUDE) -L$(LIB) $^ -o $@ $(LIBRARIES)

clean:
-rm $(BIN)/*
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Exercício Pull Request

O objetivo dessa atividade é praticar a parte de revisão e refatoração.

**Considere a seguinte descrição em alto nível da funcionalidade do código:**
Os serviços de correio expresso oferecem várias opções de entrega, cada um com custos específicos. Um pacote apresenta um peso (em quilos), o custo por quilo para a entrega e os dados dos clientes: remetente e destinatário. Uma encomenda normal tem um peso, um custo por quilo e um custo total. Uma encomenda relâmpago tem além disso uma taxa adicional, referente a prioridade no processo de entrega.

Você deve criar um **Fork** desse repositório, fazer as alterações que julgar necessárias e então realizar um **Pull Request**. Você é livre para criar outros arquivos, classes, métodos, etc., desde que o main continue produzindo a mesma saída. Lembre-se que essa etapa não altera o comportamento funcional.

No **título** do Pull Request informe o seu **número de matrícula** e **nome**. Na **descrição** faça uma **lista/análise detalhada** das possíveis **soluções** que você utilizou. Submissões que não seguirem essas instruções serão penalizadas.

Lembre-se de analisar aspectos como: nomenclatura, formatação, organização, comentários, aplicação correta dos conceitos de OO, entre outros.
Dica: Utilize o catálogo para pensar em possíveis sugestões de refatoração (https://refactoring.com/catalog/).
# Exercício Pull Request
O objetivo dessa atividade é praticar a parte de revisão e refatoração.
**Considere a seguinte descrição em alto nível da funcionalidade do código:**
Os serviços de correio expresso oferecem várias opções de entrega, cada um com custos específicos. Um pacote apresenta um peso (em quilos), o custo por quilo para a entrega e os dados dos clientes: remetente e destinatário. Uma encomenda normal tem um peso, um custo por quilo e um custo total. Uma encomenda relâmpago tem além disso uma taxa adicional, referente a prioridade no processo de entrega.
Você deve criar um **Fork** desse repositório, fazer as alterações que julgar necessárias e então realizar um **Pull Request**. Você é livre para criar outros arquivos, classes, métodos, etc., desde que o main continue produzindo a mesma saída. Lembre-se que essa etapa não altera o comportamento funcional.
No **título** do Pull Request informe o seu **número de matrícula** e **nome**. Na **descrição** faça uma **lista/análise detalhada** das possíveis **soluções** que você utilizou. Submissões que não seguirem essas instruções serão penalizadas.
Lembre-se de analisar aspectos como: nomenclatura, formatação, organização, comentários, aplicação correta dos conceitos de OO, entre outros.
Dica: Utilize o catálogo para pensar em possíveis sugestões de refatoração (https://refactoring.com/catalog/).
Binary file added bin/main
Binary file not shown.
134 changes: 134 additions & 0 deletions include/Cliente.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
#ifndef CLIENTE_H
#define CLIENTE_H
#include <string>
using namespace std;

/**
* \brief Esse namespace se refere ao módulo de usuários.
*/
namespace Usuario {
/**
* \brief Essa classe representa o papel do usuário na modelagem no sistema em questão.
*/
class Cliente {
public:
/**
* \brief Esse é o construtor da classe que não possui nenhum parametro,
* por conta disso nenhuma propriedade dessa classe é inicializada.
*
*/
Cliente(){};
/**
* \brief Esse é o construtor da classe que possibilia a instanciação da classe
* passando todos os parametros necessários para definir o objeto por completo.
*
* @param string string que se refere ao nome do cliente instanciado.
* @param string endereco que se refere ao endereco do cliente instanciado.
* @param string cidade que se refere a cidade do cliente instanciado.
* @param string estado que se refere ao estado do cliente instanciado.
* @param string cep que se refere ao cep do cliente instanciado.
*/
Cliente(string nome, string endereco, string cidade, string estado, string cep);

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade nome dessa classe.
* \return string
*/
string getNome() const {return this->nome;};

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade endereco dessa classe.
* \return string
*/
string getEndereco() const {return this->endereco;};

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade cidade dessa classe.
* \return string
*/
string getCidade() const {return this->cidade;};

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade estado dessa classe.
* \return string
*/
string getEstado() const {return this->estado;};

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade cep dessa classe.
* \return string
*/
string getCep() const {return this->cep;};

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade nome dessa classe.
* \param @string param, valor referente ao Nome do Cliente
* Nessa classe
*
* \return void (nenhum retorno)
*/
void setNome(string param);

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade endereco dessa classe.
* \param @string param, valor referente ao Endereco do Cliente
* Nessa classe
*
* \return void (nenhum retorno)
*/
void setEndereco(string param);

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade cidade dessa classe.
* \param @string param, valor referente ao Cidade do Cliente
* Nessa classe
*
* \return void (nenhum retorno)
*/
void setCidade(string param);

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade estado dessa classe.
* \param @string param, valor referente ao Estado do Cliente
* Nessa classe
*
* \return void (nenhum retorno)
*/
void setEstado(string param);

/**
* \brief Esse método tem a função de retornar o valor
* armazenado na propriedade cep dessa classe.
* \param @string param, valor referente ao Cep do Cliente
* Nessa classe
*
* \return void (nenhum retorno)
*/
void setCep(string param);

/**
* A função print() tem a função de imprimir na
* tela o cliente cadastrado referente a esta Objeto
* \return void (sem retorno)
*/
void print();

private:
string nome; ///< O nome do cliente representado por essa classe
string endereco; ///< O endereco do cliente representado por essa classe
string cidade; ///< A cidade do cliente representado por essa classe
string estado; ///< O estado do cliente representado por essa classe
string cep; ///< O cep do cliente representado por essa classe
};
}

#endif
Loading