Skip to content
This repository was archived by the owner on Oct 26, 2025. It is now read-only.

PMSlomp/Blackjack-DW2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blackjack-DW2

Projeto de Web 2 - GitHub Pages: https://pmslomp.github.io/Blackjack-DW2/

QUALIDADE DO CÓDIGO

  • Usar um Style Guide - apresentar o uso de pelo menos 10 regras do style escolhido (sugerido AirBnb)
    • Require capitalized names for constructor functions
    • Prohibit use of explicitly undeclared variables*
    • Warn when variables are defined but never used
    • Enforce tab width of 2 spaces
    • Force all variable names to use either camelCase
  • Usar um lint - mostrar a correção de pelo menos 5 problemas informados pelo lint (sugerido JSHint - usar o arquivo .jshintrc disponível no moodle)
    • aspas duplas por aspas simples
    • 'use strict'
    • declaração de variável antes do uso (card.js)
    • término com ';'
    • uso de '===' ou '!=='
  • Usar strict mode
  • Usar Module Pattern
  • Usar pasta assets e subpastas resources e libraries para organizar o código
  • Usar let ao invés de var
  • Nomes de arquivos minúsculos e separados por hífen (dashed-case)

CAIXAS DE DIÁLOGO

  • prompt (main.js - linha 7)
  • alert (main.js - linha 28)
  • confirm (opinion.js - linha 59)

TEMPORIZADORES

  • setInterval (interface.js - linha 123)
  • setTimeout (main.js - linha 94)

FUNÇÕES

  • Função anônima com argumento (deck.js - linha 17)
  • Função anônima sem argumento (main.js - linha 115)
  • Função anônima com retorno (deck.js - linha 17)
  • Função auto-executável (main.js)
  • Função com nome (deck.js - linha 20)
  • Função aninhada/local - declarar uma função dentro de outra (deck.js - linha 17/20)
  • Passagem de uma função como parâmetro (main.js - linha 16)
  • Função Flecha - Arrow Function (card.js - linha 1)

EVENTOS

  • Evento de carregamento do documento (onload) (main.js - linha 16)
  • Evento de movimento do mouse (index.js - linha 4 e 8)
  • Evento de teclado - usar charCode ou keyCode (opinion.js - linha 23)
  • Eventos de formulário - onfocus e onblur (opinion.js - linha 38 e 41)
  • Imprimir alguma propriedade do objeto event recebido como parâmetro (opinion.js - linha 26)

ACESSO AOS ELEMENOS DOM DO HTML

  • Via acesso direto pelo id do elemento HTML (interface.js - linha 101)
  • Via getElementByID() (index.js - linha 3)
  • Via getElementsByName() (scoreboard.js - linha 3)
  • Via getElementsByTagName() (interface.js - linha 99)
  • Via seletores CSS usados na função querySelector() ou querySelectorAll() (interface.js - linha 63)

TRATADORES DE EVENTO

  • Especificar o tratador de evento inline (opinion.html - linha 22)
  • Especificar o tratador de evento no carregamento da página HTML no modo tradicional - no onload (opinion.js - linha 6)
  • Especificar o tratador de evento no carregamento da página HTML com a função addEventListener - no onload (main.js - linha 16)
  • Usar o operador this em funções tratadoras de eventos (main.js - linha 52/56)

FORMULÁRIO

  • Validação de formulário com onsubmit usando os métodos tradicionais (opinion.js - linha 87)
  • Validação de formulário com HTML5 API
    • Customizar as mensagens nos balões de mensagem (opinion.js - linha 69)
    • Usar os atributos de validação dos inputs (opinion.js - linha 91)
    • Usar expressões regulares (opinion.html - linha 24)
  • Ler e escrever em elementos input com a propriedade value (opinion.js - linha 26 e 98)
  • Alterar o conteúdo de elementos div ou p com a propriedade innerHTML ou textContent (scoreboard.js - linha 28)
  • Manipulação de elemento de listagem, como checkbox, radio ou select (opinion.html - linha 27)
  • Acesso aos elementos de um formulário via hierarquia (caminho) de objetos, ou seja, array forms e elements (opinion.js - linha 22)

OBJETOS NATIVOS

  • Usar pelo menos 3 métodos de manipulação de array
    • (deck.js - linha 22 / length)
    • (deck js - linha 32 / push)
    • (hand.js - linha 13 / shift)
  • Usar laço de repetição (for..in ou for..of ou forEach) (deck.js - linha 21 / for in)
  • Usar pelo menos 3 métodos para manipulação de string
    • (scoreboard.js - linha 19 / charAt)
    • (scoreboard.js - linha 20 / toUpperCase)
    • (scoreboard.js - linha 21 / replace)
    • (scoreboard.js - linha 24 / substring)

OBJETOS

  • Criar objeto usando função construtora ou notação literal (scoreboard.js - linha 31)
  • Usar herança prototipal (opinion.html - linha 53)

JQUERY

  • Uso de seletores CSS - id, classe e tag
    • (index.js - linha 15)
    • (index.js - linha 17)
    • (opinion.js - linha 13)
  • Uso de seletores hierárquicos estáticos - ancestral/descendente, pai/filho, anterior/próximo
  • Uso de seletores hierárquicos dinâmicos - parent/children/next
  • Efeitos fade ou slide (interface.js - linha 121)
  • Especificar o tratador de algum evento via jQuery (index.js - linha 8)
  • Manipulação do CSS via função css() e addClass()/removeClass()
  • Manipulação do conteúdo de um input e div usando jQuery
    • (index.js - linha 13)
    • (opinion.js - linha 13)

WEB STORAGE

  • LocalStorage ou SessionStorage
    • (main.js - linha 21)
    • (opinion.js - linha 8)
    • (scoreboard.js - linha 18)
  • Leitura e escrita de dados simples
    • (main.js - linha 21 / getItem)
    • (opinion.js - linha 8 / .name)
    • (scoreboard.js - linha 18 / setItem)
  • Leitura e escrita de JSON (opinion.js - linha 13 e 57)

About

Projeto de Web 2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published