1. Урок 1.00:03:21
    Outline
  2. Урок 2.00:09:10
    API's Characteristics
  3. Урок 3.00:01:34
    Public API VS Private API
  4. Урок 4.00:04:08
    API Development Principles
  5. Урок 5.00:01:02
    Conclusion
  6. Урок 6.00:01:29
    Outline
  7. Урок 7.00:10:31
    General Principles of Naming
  8. Урок 8.00:07:27
    Naming Conventions in .NET
  9. Урок 9.00:01:22
    Conclusion
  10. Урок 10.00:01:16
    Outline
  11. Урок 11.00:04:03
    Class VS Structure
  12. Урок 12.00:05:12
    Abstract Class VS Interface
  13. Урок 13.00:02:42
    Implementing Abstract Classes
  14. Урок 14.00:06:42
    Property VS Method
  15. Урок 15.00:01:31
    Implementing Constructors
  16. Урок 16.00:03:12
    Creational Patterns VS Constructors
  17. Урок 17.00:01:27
    Tester-Doer Pattern
  18. Урок 18.00:01:39
    Conversion VS Casting Operator
  19. Урок 19.00:03:21
    Implementing Parameters
  20. Урок 20.00:11:43
    Implementing "Dispose" Pattern
  21. Урок 21.00:02:33
    Conclusion
  22. Урок 22.00:01:04
    Outline
  23. Урок 23.00:06:24
    Poor Naming
  24. Урок 24.00:01:30
    Violating Naming Conventions
  25. Урок 25.00:01:05
    Variable Declarations on the Top
  26. Урок 26.00:00:49
    Magic Numbers
  27. Урок 27.00:06:21
    Too Long Method
  28. Урок 28.00:02:11
    Poor Conditional Clauses
  29. Урок 29.00:03:01
    Output Parameters
  30. Урок 30.00:03:14
    Comments
  31. Урок 31.00:01:03
    Prefer Positive if-statements
  32. Урок 32.00:01:56
    Conclusion
  33. Урок 33.00:01:02
    Outline
  34. Урок 34.00:02:51
    Primitives Obsession
  35. Урок 35.00:04:20
    Hidden Dependencies
  36. Урок 36.00:06:50
    Violation of Law of Demeter
  37. Урок 37.00:01:37
    Temporal Coupling
  38. Урок 38.00:05:27
    Temporal Coupling and Immutability
  39. Урок 39.00:05:51
    Switch Statements
  40. Урок 40.00:01:42
    Conclusion
  41. Урок 41.00:01:12
    Outline
  42. Урок 42.00:03:32
    What Does an "Error" Mean?
  43. Урок 43.00:06:51
    Problems with Exceptions
  44. Урок 44.00:03:48
    Common Misconceptions
  45. Урок 45.00:05:01
    Exception Handling Strategies
  46. Урок 46.00:02:48
    CQS Principle
  47. Урок 47.00:03:00
    Errors and Functional Programming
  48. Урок 48.00:04:56
    Pipelining by Method Chaining
  49. Урок 49.00:00:52
    Conclusion on Exceptions Handling
  50. Урок 50.00:01:59
    BCL Exceptions Types
  51. Урок 51.00:01:15
    Custom Exception Types
  52. Урок 52.00:01:16
    Conclusion
  53. Урок 53.00:01:55
    Outline
  54. Урок 54.00:02:35
    Problems with Nulls
  55. Урок 55.00:02:52
    Null Object Pattern
  56. Урок 56.00:03:48
    Maybe monad in C#
  57. Урок 57.00:05:25
    Automating Null Checks
  58. Урок 58.00:02:51
    Static Analysis
  59. Урок 59.00:01:48
    Returning IEnumerables
  60. Урок 60.00:01:25
    Conclusion
  61. Урок 61.00:01:19
    BONUS LECTURE