"Simplicity - the guarantee of health" by Alexander Korin

"Simplicity - the guarantee of health" by Alexander Korin

We aspire to simplicity in everything we do day to day. This is applicable to every field of human’s activity despite programming. When we do programming we usually forget about this. In his talk Alexander will discuss how to get rid of complexity overhead and stay in harmony with yourself via few examples with real-life analogies. The talk’s ideas might sound contraversary, so discussion is highly welcome.
This talk was made for CocoaHeads Kyiv #10 which took place 10 Dec 2016.

Db84cf61fdada06b63f43f310b68b462?s=128

CocoaHeads Ukraine

December 22, 2016
Tweet

Transcript

  1. Simplicity - the guarantee of health

  2. I have a wife and 5 cats

  3. Simplicity: • Visual • Implementation

  4. Visual simplicity is deceptive. We don't give a s... about

    it.
  5. Implementation simplicity: • Extensibility • Readability • Comprehensibility

  6. What should be done??? • Allow yourself a thought, that

    your code is – • Ragequit • Accept • Analyze • Draw conclusions
  7. My conclusions: • Widen the knowledge of your instruments •

    Make you code comfortable • Make your code reusable on the Drag&Drop level • Don't repeat yourself • DON'T REPEAT YOURSELF • DON'T REPEAT YOURSELF!!!
  8. Don't write the code with accent http://blog.idapgroup.com/common-mistakes-noone-bother-about-bools/

  9. Bad

  10. Good

  11. Think of types http://blog.idapgroup.com/common-mistakes-noone-bothers-about-decomposition/

  12. Bad

  13. Better than bad

  14. Average

  15. Better than average

  16. Nearly there

  17. Good

  18. Use parenthesis, as they taught you in school http://blog.idapgroup.com/common-mistakes-noone-bother-about-bools/

  19. Bad

  20. Good

  21. Inject the behavior http://blog.idapgroup.com/common-mistakes-noone-bothers-about-extensions/

  22. Bad

  23. Good

  24. Use First Order Functions http://blog.idapgroup.com/common-mistakes-noone-bothers-about-first-order-functions/

  25. Bad

  26. Average

  27. Better

  28. Good

  29. Be aware of specifics http://blog.idapgroup.com/common-mistakes-noone-bothers-about-macros/

  30. Bad

  31. Good

  32. Be explicit http://blog.idapgroup.com/common-mistakes-noone-bothers-about-explicitness/

  33. Bad

  34. Good

  35. Express the logic, but don't struggle with the language http://blog.idapgroup.com/type-inference/

  36. Bad

  37. Good

  38. Create Conventions http://blog.idapgroup.com/conventions-are-good-strings-are-bad/

  39. Bad

  40. Good

  41. http://blog.idapgroup.com/chainable-casting/

  42. None
  43. Analyze behaviors http://blog.idapgroup.com/lets-reconsider-mvc/

  44. Bad

  45. Good

  46. Create a usable access points http://blog.idapgroup.com/lets-reconsider-mvc/

  47. Bad

  48. Good

  49. Thanks!