Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Codando nas Trincheiras

Codando nas Trincheiras

Talk apresentada no Hack In Rio 2018 - https://hackingrio.com/hackathon/

Diana Arnos

July 28, 2018
Tweet

More Decks by Diana Arnos

Other Decks in Programming

Transcript

  1. @dianaarnos Dev, Sec, Music, Kung Fu. Tech Lead @ MGov

    Evangelista @ PHPSP Evangelista @ PHPWomenBR
  2. “You only get one shot Do not miss your chance

    to blow” (Mathers, Marshall)
  3. Sistema / feature fora do ar. Precisa estar tudo ok

    antes do primeiro pico de usuários do dia. A.k.a. 10am.
  4. 1. UM NÍVEL DE IDENTAÇÃO POR MÉTODO 2. EVITE USAR

    O ELSE 3. ENCAPSULE (WRAP) SEUS TIPOS PRIMITIVOS 4. CRIE CLASSES PARA SUAS COLLECTIONS 5. SÓ UM OPERADOR DE OBJETO POR LINHA 6. NÃO ABREVIE 7. MANTENHA TODAS AS CLASSES PEQUENAS 8. EVITE TER MAIS DE 2 VARIÁVEIS DE INSTÂNCIA NA CLASSE 9. NÃO USE GETTERS E SETTERS
  5. 1. UM NÍVEL DE IDENTAÇÃO POR MÉTODO 2. EVITE USAR

    O ELSE 3. ENCAPSULE (WRAP) SEUS TIPOS PRIMITIVOS 4. CRIE CLASSES PARA SUAS COLLECTIONS 5. SÓ UM OPERADOR DE OBJETO POR LINHA 6. NÃO ABREVIE 7. MANTENHA TODAS AS CLASSES PEQUENAS 8. EVITE TER MAIS DE 2 VARIÁVEIS DE INSTÂNCIA NA CLASSE 9. NÃO USE GETTERS E SETTERS
  6. class Board { public String board() { StringBuilder buf =

    new StringBuilder(); // 0 for (int i = 0; i < 10; i++) { // 1 for (int j = 0; j < 10; j++) { // 2 buf.append(data[i][j]); } buf.append("\n"); } return buf.toString(); } }
  7. class Board { public String board() { StringBuilder buf =

    new StringBuilder(); collectRows(buf); return buf.toString(); } private void collectRows(StringBuilder buf) { for (int i = 0; i < 10; i++) { collectRow(buf, i); } } private void collectRow(StringBuilder buf, int row) { for (int i = 0; i < 10; i++) { buf.append(data[row][i]); } buf.append("\n"); } }
  8. public void login(String username, String password) { if (userRepository.isValid(username, password))

    { redirect("homepage"); } else { addFlash("error", "Bad credentials"); redirect("login"); } }
  9. public void login(String username, String password) { if (userRepository.isValid(username, password))

    { return redirect("homepage"); } addFlash("error", "Bad credentials"); return redirect("login"); }
  10. docker run -p 3306:3306 --name=nomeDoContainer -e MYSQL_ROOT_PASSWORD=root -d mysql docker

    run -p 6379:6379 --name=nomeDoContainer -d redis docker run -p 8000:80 --name=nomeDoContainer -v /seus/arquivos:/usr/share/nginx/html:ro -d nginx