~/talk

Techniques for making reusable code

Talkat Unite 2008 · 2008-10-22..10-24· [software-architecture, developer-experience]
links:none on file
slides:none on file

Five practical rules: break systems into many small classes and decouple with small classes so swapping subsystems (asset repository, GUI, networking) keeps 60–90% of work when features change; stop using public GameObject/component inspector hooks and remove public GameObject references to avoid runtime nulls; prefer interfaces and compile-time checks to push errors to compile time; implement a message/event system with add/remove listeners, three-state messages, and late binding (used in a Unity C# MMO with asset bundles and SVN integration).

AI-written summary · about

  1. 0:00Reusable code benefits
  2. 1:02Writing reusable code matters
  3. 2:04Four strategies for reusable code
  4. 3:07Compile vs runtime errors
  5. 4:10Smaller classes and interfaces
  6. 5:57Private members and loose coupling
  7. 7:20Decoupling for large projects
  8. 9:27Interfaces and their benefits
  9. 11:12Removing public references in Unity
  10. 13:15Avoiding hierarchy references
  11. 15:00Event model for async processes
  12. 17:28Instance events and encapsulation
  13. 19:53Three-state data handling
  14. 21:16Preparing for multiple events
  15. 23:00Safe event usage rules
  16. 26:09Singletons and listener registration
  17. 27:32Removing listeners on disable
  18. 28:58Event listeners example
  19. 31:44Event model abuse and alternatives
  20. 32:06Manager initialization order
  21. 33:27Decoupling vs iterative development
  22. 37:16Preventing GC with weak references
  23. 37:39Why not .NET events
  24. 38:41Alternatives to SendMessage
  25. 41:32Plain classes vs MonoBehaviours
  26. 44:16Networking solutions in Unity
  27. 45:18Summary and hiring
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.