|
|
Line 58: |
Line 58: |
| '''Utilização de estruturas de dados correctas''' | | '''Utilização de estruturas de dados correctas''' |
| * lists - utilização de listas onde se justifica a utilização de mapas | | * lists - utilização de listas onde se justifica a utilização de mapas |
| + | * genrics - falta de parâmetro em tipo paramétrico |
| * Object - utilização directa da classe Object (sem ser para satisfazer um requisito de Java) | | * Object - utilização directa da classe Object (sem ser para satisfazer um requisito de Java) |
| * Exception - utilização directa da classe Exception (processamento indiscriminado de excepções) | | * Exception - utilização directa da classe Exception (processamento indiscriminado de excepções) |
Revision as of 18:18, 23 October 2022
AVISOS - Avaliação em Época Normal
|
Esclarecimento de dúvidas:
- Consultar sempre o corpo docente atempadamente: presencialmente ou através do endereço oficial da disciplina [1].
- Não utilizar fontes de informação não oficialmente associadas ao corpo docente (podem colocar em causa a aprovação à disciplina).
- Não são aceites justificações para violações destes conselhos: quaisquer consequências nefastas são da responsabilidade do aluno.
|
Requisitos para desenvolvimento, material de apoio e actualizações do enunciado (ver informação completa em Projecto de Programação com Objectos):
- O material de apoio é de uso obrigatório e não pode ser alterado.
- Verificar atempadamente (mínimo de 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de desenvolvimento.
|
Processo de avaliação (ver informação completa em Avaliação do Projecto):
- Datas: 2022/10/04 12:00 (inicial); 2022/10/21 12:00 (intercalar); 2022/11/04 12:00 (final); 2022/11/04 (early bird) 2022/11/07 (normal) (teste prático).
- Todas as entregas são cruciais para o bom desenvolvimento do projecto, sendo obrigatórias: a não realização de uma entrega implica a exclusão da avaliação do projecto e, por consequência, da avaliação da disciplina.
- Verificar atempadamente (até 48 horas antes do final de cada prazo) os requisitos exigidos pelo processo de avaliação, incluindo a capacidade de acesso ao repositório.
- Apenas se consideram para avaliação os projectos existentes no repositório oficial. Apenas se considera para avaliação o ramo 'main'.
- Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório ou de outros materiais, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.
- A avaliação do projecto pressupõe o compromisso de honra de que o trabalho correspondente foi realizado pelos alunos correspondentes ao grupo de avaliação.
- Fraudes na execução do projecto terão como resultado a exclusão dos alunos implicados do processo de avaliação.
|
Material de Uso Obrigatório
|
As bibliotecas po-uilib e o conteúdo inicial do CVS são de uso obrigatório:
|
- po-uilib (classes de base) po-uilib-202209081626.tar.bz2 (não pode ser alterada) - javadoc
- prr-core (classes do "core") (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
- prr-app (classes de interacção) (via CVS) (deve ser completada -- os nomes das classes fornecidas não podem ser alterados)
|
A máquina virtual, fornecida para desenvolvimento do projecto, já contém todo o material de apoio.
|
Uso Obrigatório: Repositório CVS
|
Apenas se consideram para avaliação os projectos existentes no repositório CVS oficial.
Trabalhos não presentes no repositório no final do prazo têm classificação 0 (zero) (não são aceites outras formas de entrega). Não são admitidas justificações para atrasos em sincronizações do repositório. A indisponibilidade temporária do repositório, desde que inferior a 24 horas, não justifica atrasos na submissão de um trabalho.
|
A entrega intermédia é obrigatória e vale 6 valores em 20.
Os alunos devem compreender/verificar/corrigir os problemas reportados.
Quaisquer dúvidas ou sugestões, relativas a esta informação, devem ser enviadas ao responsável pela disciplina.
Prazo de Revisão
PAUTA PROVISÓRIA
Esta pauta está em revisão até à data da entrega final do projecto.
Legenda
Existem factores aditivos positivos (colunas a verde) e negativos (colunas laranja).
A coluna "Auto" indica a percentagem de teste automáticos certos e vale 2.5 valores.
NA na coluna "Nota" indica "não avaliado" (grupo excluído da avaliação da disciplina em época normal no lectivo actual).
Explicação dos testes automáticos
|
Os resultados dos testes automáticos estão disponíveis em https://bit.ly/po22-ei
São consideradas irrelevantes diferenças que consistam apenas em quantidade de espaços brancos (não ter espaços é considerada uma diferença).
|
Explicação das anotações
|
Atributos não públicos:
- public - atributos públicos
- protected - atributos protected (potencialmente desnecessária a qualificação)
- package - atributos sem qualificação de acesso
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Atributos e métodos não “static”
- (const) - contantes
- (comparator) - contantes (comparador)
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Serialização
- ois - problemas na utilização de ObjectInputStream
- oos - problemas na utilização de ObjectOutputStream
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Utilização de estruturas de dados correctas
- lists - utilização de listas onde se justifica a utilização de mapas
- genrics - falta de parâmetro em tipo paramétrico
- Object - utilização directa da classe Object (sem ser para satisfazer um requisito de Java)
- Exception - utilização directa da classe Exception (processamento indiscriminado de excepções)
- instanceof - uso de instanceof (não é justificável numa solução de boa qualidade)
- System.* - problemas na utilização de canais de I/O
- app attrs/fields - definição de atributos em classes da app: deveriam ser variáveis locais a métodos ou simplesmente não existir
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Separação app/core
- serialization - uso de primitivas de serialização na app
- options - não uso de processo de escolha de opções
- reader - criação do leitor do ficheiro indicado pela propriedade "import" na app
- core exposed - exposição desnecessária de estruturas/abstracções do core
- except - não tratamento de excepções na app
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Qualidade do projecto (apreciação global)
- instanceof - uso de instanceof (não é justificável numa solução de boa qualidade)
- Object - utilização directa da classe Object (sem ser para satisfazer um requisito de Java)
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Javadoc
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Seguir regras codificação
- class - erros de nomenclatura (maus nomes para classes)
- vars - erros de nomenclatura (maus nomes para variáveis)
- funcs - erros de nomenclatura (maus nomes para funções)
- [outras anotações] - consultar professor responsável (horário de dúvidas)
Lixo no Repositório
- [outras anotações] - consultar professor responsável (horário de dúvidas)
|
Pauta
EM ACTUALIZAÇÃO
Aqui: https://bit.ly/po22-pautas (Fénix)