Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Best practices. Exploring - Ike Kurghinyan (RUS) | Ruby Meditation 26

48 visualizaciones

Publicado el

Speech of Ike Kurghinyan, Senior Software Engineer at VChain LLC, at Ruby Meditation #26 Kyiv 16.02.2019
Next conference - http://www.rubymeditation.com/

«Is there one grand unifying rule to software engineering? Can so-called best practices be somehow derived from that unifying rule? This speech is a humble attempt to explore the subject and provide you with tools for your own explorations.»

Announcements and conference materials https://www.fb.me/RubyMeditation
News https://twitter.com/RubyMeditation
Photos https://www.instagram.com/RubyMeditation
The stream of Ruby conferences (not just ours) https://t.me/RubyMeditation
* The channel of the organizers of the meetup https://t.me/incredevly

Publicado en: Tecnología
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Best practices. Exploring - Ike Kurghinyan (RUS) | Ruby Meditation 26

  1. 1. @dempfi Best practices, exploring!
  2. 2. @dempfi Software Engineer at VChain Ike Ku !
  3. 3. @dempfi Эээ..?
  4. 4. @dempfi Первые годные планеры 188x Полет Уйтхэда 1901 Полет братьев Райт 1903 Математика крыла 191x Серийный тяжелый самолет 1917 Формула Глоэрта 1928
  5. 5. @dempfi 500,000 проданных копий 41 переизданий Design Patterns: Elements of Reusable Object-Oriented Software Банда четырех 1994
  6. 6. @dempfi Композиция
  7. 7. @dempfi toLower: String !" String log: Number !" Number not: Boolean !" Boolean length: String !" Number isOdd: Number !" Boolean
  8. 8. @dempfi String Number Boolean length isOdd toLower not log
  9. 9. @dempfi (length ◦ isOdd)(x) ""# isOdd(length(x)) length ◦ toLower ""# length ""# log ◦ length String Number Boolean length isOdd length ◦ isOdd toLower not log
  10. 10. @dempfi f ◦ (g ◦ h) ""# (f ◦ g) ◦ h 1ᴮ ◦ f ""# f ""# f ◦ 1ᴬ A B C f g f ◦ g 1ᴬ 1& 1ᴮ
  11. 11. @dempfi Don’t Repeat Youself
  12. 12. @dempfi A B C f g h f: A !" B g: A !" B h: B !" C
  13. 13. @dempfi A B C f g h h ◦ g h ◦ f h ◦ f ""# h ◦ gh ◦ f ""# h ◦ g
  14. 14. @dempfi toLower: String !" String toUpper: String !" String length: String !" Number length ◦ toUpper !!$ length ◦ toLower
  15. 15. @dempfi https://hoogle.haskell.org/?hoogle=String->String
  16. 16. @dempfi Keep It Simple, Stupid
  17. 17. @dempfi
  18. 18. @dempfi A B D C E f g h k
  19. 19. @dempfi A B D C E f g h ◦ g h k
  20. 20. @dempfi f: A !" B g: A !" C k: A !" D h: C !" E t: A !" E !!# h ◦ g
  21. 21. @dempfi A B D C E f m h l
  22. 22. @dempfi l ◦ (m ◦ f) A B D C E f m h m ◦ f l ◦ m h ◦ m h ◦ (m ◦ f) l
  23. 23. @dempfi f: A !" B m: B !" C l: C !" D h: C !" E g: A !" C !!# m ◦ f k: A !" D !!# l ◦ g !!# l ◦ (m ◦ f) t: A !" E !!# h ◦ g !!# h ◦ (m ◦ f) u: B !" E !!# h ◦ m j: B !" D !!# l ◦ m
  24. 24. @dempfi id: a !" a
  25. 25. @dempfi ❤
  26. 26. @dempfi Embrace abstraction
  27. 27. @dempfi DRY + KISS
  28. 28. @dempfi Separation of Concerns
  29. 29. @dempfi
  30. 30. @dempfi
  31. 31. @dempfi ! Спасибо за внимание!

×