Giter Site home page Giter Site logo

cblswift's Introduction

  • 👋 Hi, I’m @canogg
  • 👀 I’m interested in ...
  • 🌱 I’m currently learning ...
  • 💞️ I’m looking to collaborate on ...
  • 📫 How to reach me ...

cblswift's People

Contributors

canogg avatar

Stargazers

 avatar  avatar

Watchers

 avatar

cblswift's Issues

Sugestão de adicionais

  • Adicionar nome de usuário , caso você necessite imprimir para levar para alguma reunião.

  • Adicionar data de orçamento, pois os valores dos itens (para seu orçamento final) estão sempre sujeitos a mudanças.

  • Opção de editar valores de cada interiores, pois suas horas trabalhadas ao passar do tempo tende a aumentar.

  • Seria bacana ver uma função para chamar esse teu trecho de linha, e deixar seu escopo mais limpo.

    for ambiente in ambientes {
    if ambiente == "sala" {
    valorFinalAmbiente += 800
    } else if ambiente == "cozinha" {
    valorFinalAmbiente += 400
    } else if ambiente == "suíte" {
    valorFinalAmbiente += 500
    } else if ambiente == "suíte02" {
    valorFinalAmbiente += 500
    } else if ambiente == "suíte03" {
    valorFinalAmbiente += 500
    } else if ambiente == "lavabo" {
    valorFinalAmbiente += 200
    } else if ambiente == "escritório"{
    valorFinalAmbiente += 400
    } else if ambiente == "varanda" {
    valorFinalAmbiente += 400
    } else if ambiente == "serviço" {
    valorFinalAmbiente += 200
    }

Sugestão

Oi Carol, seu projeto tá íncrivel, muito bem feito e organizado. Adorei a ideia, muito bom.
Queria dar uma dica, talvez ajude nas escolhas do usuário, por exemplo, na parte que se pede a quilometragem, coloquei 2km e deu erro. Seria interessante indicar qual seria a resposta ideal a ser colocado, como um: "exe resposta: 2 km". No mais, tudo lindão, parabéns.

Sugestão

Muito bom! Pensei em como melhoria colocar de forma enumerada as opções que o usuário pode escolher, ao invés de todas as opções na mesma linha.

Sugestão e comentários gerais

Adorei o código e a ideia por trás dele, pois esse tipo de ideia deve fazer total diferença nesse nicho específico da arquitetura. Como sugestão, a única coisa que consigo indicar é a possibilidade de transformar essas várias linhas de texto, assim como outras ao longo do código, em Multiline Strings, que podem ainda ser armazenadas em variáveis e funções. Segue um link com o material para estudo, caso interesse.

Strings and Characters - Swift

print("💵 Olá vamos te ajudar a cobrar corretamente pelos seus projetos de arquitetura\n")
print("Para começar escolha uma das opções a seguir:\n")
print(["arquitetonico","interiores","comercial"])

Sugestões de melhoria

E aí Carol, tudo bem? Gostei muito do teu projeto, vou deixar aqui algumas sugestões de melhoria que acredito que vá facilitar para quem tá usando e para quem tá programando também.

  • Utilização de funções

Algumas pessoas já comentaram sobre e eu vou complementar um pouco. Eu vi que você utiliza um switch case em que verifica qual foi o tipo de projeto que o usuário escolheu para continuar.

var valorFinalAmbiente: Double = 0.0

switch escolhasDeProjetos {
case "arquitetonico":
    print(["sala","cozinha","suíte","suíte02","suíte03","lavabo","escritório","serviço","varanda","área externa\n"])
    print("Quais os ambientes que vão constar no projeto?\n")

Esse é um cenário passível da utilização de funções, sendo cada função responsável por lidar com um tipo de caso. Elas também vão de ajudar a reutilizar o código e evitar a repetição.

  • Fragmentação do código

Eu vi também que você realiza todas as operações no arquivo main.swift. É ideal, e algo que irá facilitar a leitura do código, fragmentar as operações em arquivos e deixar tais arquivos responsáveis por aquilo que eles se propõem a fazer. Se eu tiver um arquivo chamado InteraçõesUsuário.swift é interessante que ele cuide apenas das respostas do usuário e retorne o que ele escreveu para que outros arquivos lidem com as respostas.

  • Sumários

No código, temos a possibilidade de escolher com quais tipos de projetos estamos lidando: arquitetônico, interiores, comercial. Essa funcionalidade é muito massa, porém, deixar com que o usuário digite o nome do projeto que ele quer utilizar é um pouco arriscado e suscetível a erros de escrita. Uma opção possível é utilizar sumários para facilitar o acesso a funcionalidade, algo como:

"Digite o número correspondente ao seu projeto arquitetônico: "

1 - Arquitetônico
2 - Interiores
3 - Comercial

Dessa forma, é mais confortável para o usuário digitar um número ao invés de todo o nome do projeto. Isso se encaixa para outras interações com o usuário também, por exemplo a definição de se vai ter levantamento ou não, seria possível limitar as possibilidades para respostas de "sim" e "não".

  • Enumerations

No código nós possuímos muitas strings que representam elementos a serem considerados, por exemplo: "sala","cozinha","suíte","suíte02","suíte03","lavabo","escritório","serviço","varanda". Esses elementos são ótimas opções para um possível enum, sendo esse uma forma de agrupar os elementos e controlar os valores que eles possuem. Vou deixar esse link que vai te ajudar melhor a entender o que é um enum e como ele pode te ajudar a melhorar a leitura do programa.

Quero te dar parabéns de novo, porquê é uma ideia muuuito legal e é muito bom de ver alguém utilizando programação para algo que gosta. Tudo de bom 😁

sobre melhor organização das linhas de código

Ei muito daora tua ideia ! Principalmente para arquitetos que estão iniciando e não sabem quanto cobrar.
Mas olhando o código, me pergunto se a construção de mais funções não deixaria mais limpo o código na parte do menu.

Ótima ideia

Sugestões para futuras atualizações:

  • Colocar um número respectivo para cada opção, fica mais simples na hora de escolher;

Numerar as Escolhas

Massa Carol! Uma sugestão é numerar as escolhas para facilitar a interação do usuário, por exemplo em vez dele digitar
"arquitetonico" digitar apenas "1" para essa escolha.

Exemplo:

print(["Digite 1️⃣ para arquitetonico"," 2️⃣ para interiores"," 3️⃣ para comercial"])

warning

Na linha 119 esta dando um warning

Várias entradas ou uma só?

print("Quais os ambientes que vão constar no projeto?\n")

Oi, Caroline! Parabéns pelo seu projeto!

Uma sugestão que te dou é: fala para o usuário exatamente o que ele tem que fazer. Nessa linha de código, dá a entender que o usuário pode digitar mais de uma opção, o que não é tratado no código.. Então, você poderia trocar a escolha de palavras ou tratar todas as opções possíveis (e deixar o projeto ainda mais completo)! :)

Sugestão

Oi Carol, tudo bem? Achei mt legal a ideia do seu projeto e gostaria de fazer um sugestão. Notei que na linha 146, o programa quebra por receber informações inválidas, sugiro que insira um aviso que peça que as informações corretas sejam inseridas e repita a pergunta para que assim o usuário consiga continuar com as outras perguntas normalmente. Além disso, gostaria de sugerir a utilização de números associados a algumas perguntas (exemplo: Para começar escolha uma das opções a seguir: ["1 - arquitetonico", "2 -interiores", "3 - comercial"]), pois assim acredito que irá ser mais prático, otimizando o tempo de uso do usuário.

Feedback do Projeto!

Carol! Ficou muito bom, parabéns! A sugestão que eu posso te dar é dar uma olhada em 'multline string', iria reduzir algumas linhas do código.
Mas muito legal, gostei bastante!

Sugestao

Por favor melhorar um pouco o readme e deixar ele um pouco mais intuitivo, amigavel e explicativo

Usar returns ou breaks no final dos cases

Comentário geral e sugestão de melhoria no código

Olá, Carol. O seu programa está muito legal e completo. Como sugestão de melhoria no código, acho que quando você tem opções para o usuário escolher, no lugar de fazer isso com o "print", poderia utilizar uma lista, quem sabe um "array", ou algo mais simples, como um "let" já que as opções não mudam.

Feedback

Oii gostei muito do seu projeto e da proposta. Só tenho uma sugestão, acho que o teu código ficaria mais limpo se conseguisse separar suas funções em outros arquivos. Para ter uma organização mais precisa.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.