- 👋 Hi, I’m @canogg
- 👀 I’m interested in ...
- 🌱 I’m currently learning ...
- 💞️ I’m looking to collaborate on ...
- 📫 How to reach me ...
canogg / cblswift Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
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.
Lines 64 to 83 in a1d3e9d
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.
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.
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
Lines 11 to 15 in a1d3e9d
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.
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.
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.
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".
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 😁
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.
Sugestões para futuras atualizações:
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"])
Na linha 119 esta dando um warning
Line 24 in a1d3e9d
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)! :)
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.
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!
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
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.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.