Como Apresentar Código em Slides

Como Apresentar Código em Slides

Todo programador cedo ou tarde deverá apresentar código em slides no trabalho, na faculdade ou em um evento. O problema é que apresentar código é bem diferente de escrevê-lo no seu editor preferido. Basta escolher o tamanho de fonte errada e você perde toda a atenção do seu público.

Para você não cair nessa armadilha, eu apresento 5 dicas matadoras para você apresentar código em slides de forma simples e eficiente. As dicas vão desde o tipo de fonte até tamanho, cores e momento certo de dar a informação, e sem dúvida alguma o resultado final surpreende a todos.

Esta palestra foi inspirada na palestra "How to present code in slides" do grande @myfear, https://twitter.com/myfear/status/727391833123336192

Perdeu a palestra? Segue resumo de cada uma das dicas: http://blog.triadworks.com.br/como-apresentar-codigo-em-slides

F853760c988228c4a153333407e64f09?s=128

Rafael Ponte

March 01, 2018
Tweet

Transcript

  1. Como Apresentar Código em Slides

  2. Rafael Ponte
 @rponte

  3. objetivo…

  4. mapear uma classe com Hibernate

  5. package br.com.triadworks.javace.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public List<Dependente> getDependentes() { return dependentes; } public void setDependentes(List<Dependente> dependentes) { this.dependentes = dependentes; } }
  6. o que eu fiz de errado?

  7. tudo!

  8. seus slides não são sua IDE

  9. nem seu console

  10. 5

  11. tamanho é documento #1

  12. package br.com.triadworks.javace.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public List<Dependente> getDependentes() { return dependentes; } public void setDependentes(List<Dependente> dependentes) { this.dependentes = dependentes; } } font 10pt
  13. package br.com.triadworks.javace.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; font 20pt
  14. import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.OneToMany; @Entity public class Cliente

    { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); font 30pt
  15. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; font 50pt
  16. public class Cliente { @Id private Integer font 100pt

  17. Milfont

  18. técnica Milfont <3

  19. tá bom, tá bom…

  20. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); font 40pt
  21. MAIOR é melhor

  22. use fonte 
 mono-espaçada #2

  23. monospace proportional largura fixa largura fixa

  24. None
  25. @Entity public class Cliente { @Id private Integer id; }

    @Entity public class Cliente { @Id private Integer id; } monospace proportional
  26. @Entity public class Cliente { @Id private Integer id; }

    @Entity public class Cliente { @Id private Integer id; } não monospace proportional
  27. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); Arial
  28. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); Monaco
  29. use fontes mono-espaçadas para melhor legibilidade

  30. cores fazem a diferença #3

  31. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>();
  32. não confie no projetor

  33. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>();
  34. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>();
  35. use cores onde for necessário

  36. mas por favor, não avacalha

  37. não a-v-a-c-a-l-h-a!!

  38. não é teu editor

  39. foco no que importa #4

  40. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>();
  41. package br.com.triadworks.lanceunico.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public List<Dependente> getDependentes() { return dependentes; } public void setDependentes(List<Dependente> dependentes) { this.dependentes = dependentes; } }
  42. package br.com.triadworks.lanceunico.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public List<Dependente> getDependentes() { return dependentes; } public void setDependentes(List<Dependente> dependentes) { this.dependentes = dependentes; } }
  43. package br.com.triadworks.lanceunico.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public List<Dependente> getDependentes() { return dependentes; } public void setDependentes(List<Dependente> dependentes) { this.dependentes = dependentes; } }
  44. package br.com.triadworks.lanceunico.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getEndereco() { return endereco; } public void setEndereco(String endereco) { this.endereco = endereco; } public List<Dependente> getDependentes() { return dependentes; } public void setDependentes(List<Dependente> dependentes) { this.dependentes = dependentes; } } remove o que não importa
  45. package br.com.triadworks.lanceunico.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); }
  46. package br.com.triadworks.lanceunico.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); }
  47. package br.com.triadworks.lanceunico.modelo; import java.util.ArrayList; import java.util.List; import javax.persistence.Entity; import javax.persistence.Id;

    import javax.persistence.OneToMany; @Entity public class Cliente { @Id private Integer id; private String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); } NÃO importa? REMOVE!
  48. apagar código é gostoso

  49. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes = new ArrayList<>(); }
  50. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  51. menos é mais

  52. MENOS CÓDIGO MAIOR CLAREZA =

  53. agora, podemos focar no que importa…

  54. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  55. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  56. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  57. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  58. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  59. @Entity public class Cliente { @Id private Integer id; //

    ... outros atributos }
  60. existe N maneiras de enfatizar seu código

  61. caneta laser não é uma delas .

  62. caneta laser não é uma delas .

  63. #5

  64. dê a informação no… momento certo #5

  65. dê a informação no… momento certo #5

  66. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  67. lembra do nosso objetivo?

  68. mapear uma classe com Hibernate

  69. mapear uma classe com Hibernate

  70. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  71. então vamos lá…

  72. public class Cliente { private Integer id; private String nome;

    private String email; private String endereco; }
  73. public class Cliente { private Integer id; private String nome;

    private String email; private String endereco; }
  74. public class Cliente { private Integer id; private String nome;

    private String email; private String endereco; }
  75. public class Cliente { private Integer id; private String nome;

    private String email; private String endereco; }
  76. @Entity public class Cliente { private Integer id; private String

    nome; private String email; private String endereco; }
  77. @Entity public class Cliente { private Integer id; private String

    nome; private String email; private String endereco; }
  78. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; }
  79. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; private List<Dependente> dependentes; }
  80. @Entity public class Cliente { @Id private Integer id; private

    String nome; private String email; private String endereco; @OneToMany private List<Dependente> dependentes; }
  81. @Entity public class Cliente { @Id private Integer id; }

  82. guie seu público na sua solução

  83. concluindo

  84. lembre-se…

  85. seus slides não são sua IDE

  86. utilize 5 dicas

  87. tamanho é documento foco no que importa cores fazem a

    diferença use fonte mono-espaçada informação no momento certo
  88. apresentar código é difícil

  89. coloque-se no lugar do carinha lá no final do auditório

  90. @rponte http://triadworks.com.br/ @triadworks