That's Not My Code!

804
-1

Published on

Inheriting code is something we all have to deal with, and knowing what you're getting yourself into is a big part of that initial deep dive. Just like anything else, this is a skill that needs to be practiced and perfected over time. This session will walk through some strategies to use when looking at code you didn't write, finding problem spots, as well as share some personal experiences I've had when working with other people's code. You'll leave feeling confident about digging into your next codebase, and have some new tools in your pocket for dealing with the unexpected.

Published in: Software, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
804
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

That's Not My Code!

  1. 1. That’s not my code! @MicheleTitolo Thursday, May 15, 14
  2. 2. Thursday, May 15, 14
  3. 3. Thursday, May 15, 14
  4. 4. Thursday, May 15, 14
  5. 5. Thursday, May 15, 14
  6. 6. Thursday, May 15, 14
  7. 7. The Art of Code Thursday, May 15, 14
  8. 8. Purpose Thursday, May 15, 14
  9. 9. What are you trying to solve? Thursday, May 15, 14
  10. 10. Fixing a bug? Thursday, May 15, 14
  11. 11. Adding a new feature? Thursday, May 15, 14
  12. 12. Updating a web API? Thursday, May 15, 14
  13. 13. This helps focus your search Thursday, May 15, 14
  14. 14. First thing’s first. Thursday, May 15, 14
  15. 15. Does it build? Thursday, May 15, 14
  16. 16. No! Wait! Thursday, May 15, 14
  17. 17. You can and will learn a lot before building Thursday, May 15, 14
  18. 18. Meta Information Thursday, May 15, 14
  19. 19. Who? What? When? Where? Thursday, May 15, 14
  20. 20. Why? How? Thursday, May 15, 14
  21. 21. Who? What? When? Where? Thursday, May 15, 14
  22. 22. Who? Thursday, May 15, 14
  23. 23. Source Control Thursday, May 15, 14
  24. 24. git log Thursday, May 15, 14
  25. 25. Or use a GUI Thursday, May 15, 14
  26. 26. How many people? Thursday, May 15, 14
  27. 27. Are all the commits by one user? Thursday, May 15, 14
  28. 28. Are the commit messages useful? Thursday, May 15, 14
  29. 29. Xcode File Headers Thursday, May 15, 14
  30. 30. // // MRTViewController.m // Awesome App // // Created by Michele Titolo on 5/03/14. // Copyright (c) 2014 Awesome Co. All rights reserved. // Thursday, May 15, 14
  31. 31. Find in Project Thursday, May 15, 14
  32. 32. grep Thursday, May 15, 14
  33. 33. Were the files mostly created by one person? Thursday, May 15, 14
  34. 34. Were they created by 17 people? Thursday, May 15, 14
  35. 35. Too many cooks in the kitchen Thursday, May 15, 14
  36. 36. Common encounters Thursday, May 15, 14
  37. 37. One shop, two shop red shop, blue shop Thursday, May 15, 14
  38. 38. Bifurcated code Thursday, May 15, 14
  39. 39. No source control? No names in headers? Thursday, May 15, 14
  40. 40. This tells you about the client Thursday, May 15, 14
  41. 41. What? Thursday, May 15, 14
  42. 42. Use the app Thursday, May 15, 14
  43. 43. There will be things you don’t understand until you use it. Thursday, May 15, 14
  44. 44. Thursday, May 15, 14
  45. 45. Use the app Thursday, May 15, 14
  46. 46. Ask questions Thursday, May 15, 14
  47. 47. Identify edge cases Thursday, May 15, 14
  48. 48. ...because you will have to deal with them Thursday, May 15, 14
  49. 49. Oh, and write all of this down Thursday, May 15, 14
  50. 50. Future you will thank you Thursday, May 15, 14
  51. 51. When? Thursday, May 15, 14
  52. 52. What iOS version? Thursday, May 15, 14
  53. 53. What version was it built for? Thursday, May 15, 14
  54. 54. Updating iOS 4 apps is a PITA Thursday, May 15, 14
  55. 55. Backwards compatibility? Thursday, May 15, 14
  56. 56. Is it using new stuff? Thursday, May 15, 14
  57. 57. How is it checking version? Thursday, May 15, 14
  58. 58. The further back, the more fragile the code will be Thursday, May 15, 14
  59. 59. Gaps in development? Thursday, May 15, 14
  60. 60. If it went months untouched, why? Thursday, May 15, 14
  61. 61. Years? Thursday, May 15, 14
  62. 62. Technical Debt Thursday, May 15, 14
  63. 63. Where? Thursday, May 15, 14
  64. 64. Contractors? In-House? Shop? Thursday, May 15, 14
  65. 65. In-house -> out-of-house Thursday, May 15, 14
  66. 66. Contractors - who? Thursday, May 15, 14
  67. 67. Dev Shops Thursday, May 15, 14
  68. 68. Outsourced? Thursday, May 15, 14
  69. 69. Not written by someone who’s native language is yours Thursday, May 15, 14
  70. 70. i.e. “colour” vs “color” Thursday, May 15, 14
  71. 71. iOS Experience? Thursday, May 15, 14
  72. 72. Internationalization Thursday, May 15, 14
  73. 73. What countries is the app available? Thursday, May 15, 14
  74. 74. What languages are supported? Thursday, May 15, 14
  75. 75. The Code Thursday, May 15, 14
  76. 76. The fun part! Thursday, May 15, 14
  77. 77. Why? Thursday, May 15, 14
  78. 78. Who, What, When, Where Thursday, May 15, 14
  79. 79. Just don’t jump to conclusions Thursday, May 15, 14
  80. 80. How? Thursday, May 15, 14
  81. 81. File Structure Thursday, May 15, 14
  82. 82. Xcode vs HD Thursday, May 15, 14
  83. 83. Images Thursday, May 15, 14
  84. 84. Make a map of where everything is Thursday, May 15, 14
  85. 85. Building Thursday, May 15, 14
  86. 86. Does it compile? Thursday, May 15, 14
  87. 87. ...because it doesn’t always Thursday, May 15, 14
  88. 88. Missing dependencies? Thursday, May 15, 14
  89. 89. Weird build settings? Thursday, May 15, 14
  90. 90. Warnings Thursday, May 15, 14
  91. 91. Number Thursday, May 15, 14
  92. 92. Severity Thursday, May 15, 14
  93. 93. #warning Thursday, May 15, 14
  94. 94. Comments Thursday, May 15, 14
  95. 95. TODO, FIXME, ???, $#^@! Thursday, May 15, 14
  96. 96. Documentation? Thursday, May 15, 14
  97. 97. Headers Thursday, May 15, 14
  98. 98. README Thursday, May 15, 14
  99. 99. The .pch Thursday, May 15, 14
  100. 100. Tests Thursday, May 15, 14
  101. 101. Dependencies Thursday, May 15, 14
  102. 102. Submodules Thursday, May 15, 14
  103. 103. CocoaPods Thursday, May 15, 14
  104. 104. ??? Thursday, May 15, 14
  105. 105. The Art of Code Thursday, May 15, 14
  106. 106. Who, What, Where, When, Why, How Thursday, May 15, 14
  107. 107. Art takes time Thursday, May 15, 14
  108. 108. Art takes patience Thursday, May 15, 14
  109. 109. Code takes time Thursday, May 15, 14
  110. 110. Code takes patience Thursday, May 15, 14
  111. 111. Thanks! @MicheleTitolo Thursday, May 15, 14
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×