Giter Site home page Giter Site logo

newtonjose / engenharia-software-cs Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 13.76 MB

Repositório com as implementações das aulas de Contrução de Software

Home Page: https://inf.ufg.br/~fabio/cs

JavaScript 31.09% Java 68.37% Dockerfile 0.07% HTML 0.46%
nodejs javascript ci software-development software-engineering java codequality

engenharia-software-cs's Introduction

Build Status Quality Gate Status Known Vulnerabilities

Construção de Software (2019)

Disciplina do curso de Bacharelado em Engenharia de Software (UFG).

Algoritmos Implementados em JavaScript

Para ter acesso a documentação desse codigo:

  • Prerequisitos: nodejs e npm
cd aula-01.js/js/
npm install
npm run doc
  • Acessa a documentação usando o navegador:
<navegador> out/index.html

Minha de preferência

  • Atividade documentada no tópico aula-09

engenharia-software-cs's People

Contributors

andrelopes0 avatar dependabot[bot] avatar newtonjose avatar snyk-bot avatar xyzxyz avatar

Watchers

 avatar

engenharia-software-cs's Issues

Documentar métodos

Classe "ValidaParametros" contém métodos apenas parcialmente documentados.

Unir linhas 650 e 653 (js)

Não há motivo para declarar a variável em linha distante de onde é usada. Melhor é definir como const no interior do laço.

Evite h1 e outros elementos de estilo em Javadoc

Estes elementos podem "deformar" a apresentação esperada da documentação em html. Este é um dos itens a serem evitados. Observe, dentre outros cenários, o uso desta documentação em IDE, por exemplo, e não apenas via browser. Contudo, mesmo no browser você pode "quebrar" o estilo padrão.

Isto ocorre na linha 4 de Eratostenes.java

Métodos static

Classe Algoritmos (js) não deveria conter apenas métodos static. Alguns são, outros não. Entendo que TODOS podem ser adequadamente declarados como static.

Alterar nome aula-01.js

Alterar nome do arquivo contendo implementação js para algo mais representativo do conteúdo da classe.

Software Design (reunir implementações na classe Algoritmos)

Agrupar funções na classe Algoritmos tem efeito parecido com o que já é clássico, por exemplo, basta observar a classe Math tanto em Java quanto em JavaScript. Minha sugestão é que reúna todos os métodos lá.

Neste caso, a remoção da classe Algoritmos (#15) é suspendida.

Esclarecimentos

Tendo em vista que:

  • aprendizado é um processo que demanda dedicação e esforço consideráveis, além de constantes;
  • falhas fazem parte do processo, de fato, no meu entendimento, são inevitáveis;
  • falhas e dificuldades, embora inevitáveis, não podem impedir o progresso, o aprendizado, o contínuo aprimoramento; e que
  • a turma dedica-se às atividades e há progresso claro (parabéns pelo esforço),

esclareço que:

  • Em vez de duas atividades para serem concluídas até o dia primeiro de julho, teremos apenas uma única atividade, ao contrário do que foi apresentado no dia de ontem (11/06/2019).
  • A data limite permanece primeiro de julho. Ou seja, a atividade a ser realizada conta com um período de três semanas inteiras para a sua realização, além de 7 horas em atividades supervisionadas.
  • Nossa aula do dia 27 de junho será não presencial. Ou seja, você terá tempo adicional para concluir suas atividades sem o ônus de se deslocar até o laboratório. Em consequência, dia 25 de junho é o último dia para você esclarecer dúvidas com o professor. Ou seja, você tem duas semanas inteiras para esclarecer suas dúvidas sobre o que deve ser feito, sobre o critério de avaliação, sobre as suas issues, sobre os pull requests, sobre a qualidade do que você está produzindo, sobre os tópicos pertinentes à construção de software, enfim, sobre as suas dúvidas que só você pode apresentar.
  • As datas acima são limites, tudo pode ser concluído antes.
  • Os critérios de avaliação permanecem, assim como a forma de definição da nota. Se você está em dúvida, então entre em contato com o professor. De forma resumida, deve-se concluir o que foi pedido (não parcialmente), atender issues e pull requests, e com a qualidade definida por várias ferramentas para que a sua nota seja pelo menos 6,0. Há risco significativo aqui se não houver interação com o professor. Mais uma vez, esclareça suas dúvidas especificamente para o seu repositório (elemento de avaliação contínua da disciplina).
  • A atividade a ser realizada, dado que antes eram duas, e agora apenas uma, predefinida pelo docente, é aquela da "Ordem de Serviço" (programa para identificar o dia da semana de uma data). Esta atividade foi identificada como pertencente ao tópico aula-10 (veja portal da disciplina).
  • Você pode optar pela outra atividade, aquela atribuída ao tópico aula-09, o que cabe a você escolher, em vez do tópico aula-10, predefinido pelo docente. Caso queira optar pela atividade da aula-09, então deverá fazer o registro correspondente no arquivo README.md do seu repositório até as 19h59min do dia 13/06/2019, conforme ilustrado abaixo.

Minha preferência

Atividade documentada no tópico aula-10 (veja portal da disciplina).

Estas mudanças visam assegurar que nosso foco na “formação de profissionais aptos a contribuir efetivamente com a produção de softwares de qualidade seguindo princípios éticos e postura profissional” (objetivo do curso de Engenharia de Software), não seja prejudicado.

NumeroPrimo (linha 17)

Declare a classe como final e o construtor private, desta forma não é necessário gerar UnsupportedOperationException.

Este cenário se repete em várias classes (corrigir todas).

Estilo (linha 727 em js)

Este estilo é mais legível que i += 1, por exemplo, amplamente empregado pelo seu código. Para sistemas de informação em geral, o estilo preferido é i = i + 1. Não é preciso fazer alteração no código já produzido, mas sugiro que mude o estilo nos próximos exercícios em benefício da legibilidade.

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.