also does code sound smelly bad
play

Also Does Code Sound Smelly Bad? Andy Marks Technical - PowerPoint PPT Presentation

Also Does Code Sound Smelly Bad? Andy Marks Technical Principal ThoughtWorks @andee_marks Background @andee_marks Agenda Music Theory Redux Aeolian Design Choices (& examples) @andee_marks A Music Theory Primer Notes


  1. Also Does Code Sound Smelly Bad? Andy Marks Technical Principal ThoughtWorks @andee_marks

  2. Background @andee_marks

  3. Agenda ● Music Theory Redux ● Aeolian ● Design Choices (& examples) @andee_marks

  4. A Music Theory Primer Notes Octave Tempo Keys @andee_marks

  5. github.com/andeemarks/aeolian “the aeolian tonic chord is the submediant minor triad” Java One note per line of code Make good quality code pleasant to listen to Make poor quality code unpleasant to listen to @andee_marks

  6. Tool chain metrics .abc .midi abc2midi @andee_marks

  7. Aeolian/Hello World ⇨ public class HelloWorld { X:1 X:1 public static void main(String args[]) { T:HelloWorld.metrics T:HelloWorld.metrics System.out.println("Hello World!"); C:AEOLIAN C:AEOLIAN } M:4/4 M:4/4 } L:1/8 L:1/8 Q:1/4=140 Q:1/4=140 K:C K:C %%MIDI gchord c %%MIDI gchord c | "C"E c b E, E, E, | | "C"E c b E, E, E, | @andee_marks

  8. ABC Notation ⇨ X:1 T:HelloWorld.metrics C:AEOLIAN M:4/4 L:1/8 Q:1/4=140 K:C Tempo %%MIDI gchord c | "C"E c b E, E, E, | Keys Notes Octave @andee_marks

  9. Design Choices @andee_marks

  10. Design Choices #1/Notes ⇨ <module name="LineLength"> (cond (< line-length 10) (note-from-octave octave-1 line-length) (<= 10 line-length 39) Notes (note-from-octave octave-2 line-length) (<= 40 line-length 79) (note-from-octave octave-3 line-length) ... @andee_marks

  11. Design Choices #2/Tempo ⇨ <module name="CyclomaticComplexity"> (+ (* 20 complexity) default-tempo) Tempo @andee_marks

  12. Design Choices #3/Key ⇨ <module name="SimianCheck"> Keys (if (< duplication-percentage 10) (set-major-key) (set-minor-key))) @andee_marks

  13. Design Choices #4/Instruments ⇨ (if (not (= current-author (get-author))) (instrument-for current-author) Instruments @andee_marks

  14. Design Choices #5/Lyrics (if (not (= current-source-file (get-source-file))) (lyrics-for current-source-file) Lyrics @andee_marks

  15. Design Choices #6/Sequencing Sequencing @andee_marks

  16. Design Choices/Unresolved ⇨ Volume Stereo Length /** **/ Editor Note length Comments integration @andee_marks

  17. Conclusion @andee_marks

  18. Visual indicators @andee_marks

  19. Audio indicators if ( is_smelly? (code)) { if ( is_smelly? (code)) { set_build_light(“red”); play “What Does The Fox Say (Ylvis)”; } else { } else { set_build_light(“green”); play “The Blue Danube (Strauss)”; } } @andee_marks

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend