1. Тренды в Data Science на 2019 год
  2. HUAWEI Mate 20 Pro — король смартфонов
  3. Oculus Quest — автономная гарнитура VR следующего поколения за 399 долларов
  4. Как скрыть свой IP-адрес
  5. Google Pixel 3: дата релиза, цены, новости и слухи
  6. Обзор iPhone XR
  7. Обзор Apple Watch 4
  8. Как удалить фон из изображения в Microsoft Word
  9. Как стримить на YouTube
  10. Почему Chrome сообщает мне «Обновите или удалите несовместимые приложения»?
  11. Все, что вам нужно знать о Halo Infinite
  12. Предварительный обзор Nvidia GeForce RTX 2080
  13. Обзор Samsung Galaxy Watch
  14. Как сделать сканер отпечатка пальца вашего телефона более точным
  15. В чем смысл беспроводного жесткого диска и нужен ли он мне?
  16. Шесть функций iPhone, которые вы не найдете на Android
  17. Восемь советов по продлению срока службы батареи вашего ноутбука
  18. Android 9 Pie против Android 8 Oreo: что нового и что изменилось?
  19. Как ускорить работу Ubuntu 18.04
  20. Проблемы с macOS 10.14 Mojave? Мы расскажем как их исправить!
  21. Лучшие беспроводные наушники 2018 года
  22. Как ускорить работу macOS 10.13
  23. Как ускорить работу Windows 10
  24. Xbox Two против PS5: прогноз на будущее
  25. Как получить сообщения c Android на ПК
  26. Обзор Android Auto
  27. Проблемы и их решения iOS: как решить самые неприятные проблемы с iPhone и iPad
  28. Как запустить старые компьютерные игры на Windows 10
  29. Что такое Dolby Atmos?
  30. 18 новых функций iOS 12 Mojave, которые Apple не показала нам на презентации
  31. Обзор смартфона Asus ROG : Самый быстрый смартфон в мире
  32. Как скачать и установить MacOS 10.14 Mojave Developer Preview прямо сейчас
  33. Топ 5 лучших редакторов кода для Windows, Linux и Mac в 2018 году
  34. Windows 10 проблемы с апрельским обновлением 2018: как их исправить
  35. FIFA 19 дата выхода, форматы и слухи: появление Лиги чемпионов и многое другое
  36. Call of Duty: Black Ops 4 дата выпуска и новости: режим Battle Royale подтвержден!
  37. Обзор OnePlus 6: самый впечатляющий смартфон от OnePlus
  38. Лучшие бесплатные загрузчики видео с YouTube в 2018
  39. Как безопасно майнить на вашем Android смартфоне
  40. Самые надежные портативные Bluetooth-динамики
  41. Как перейти на последнюю версию Ubuntu
  42. Лучшая камера 2018: CSC и цифровые SLR-камеры от 250 долларов
  43. Топ пять квадрокоптеров — дронов для съёмки видео в 2018 году
  44. Лучшие фотопринтеры в 2018 году: лучшие решения для ваших цифровых фотографий
  45. Топ пять роскошных мотоциклов дешевле 12000 долларов
  46. Дата релиза Mac Pro 2019, новости и слухи
  47. Топ 5 легальных сайтов для скачивания и прослушивания музыки бесплатно
  48. Топ 10 ретро автомобилей опередивших своё время
  49. Лучшие подкаст-приложения для Android
  50. Обзор нового ноутбука Lenovo Thinkpad X1 Carbon
  51. Лучшие конструкторы сайтов в 2018 году
  52. Лучшие бесплатные конвертеры PDF в 2018 году
  53. Лучшие бесплатный хостинг для web-сайтов в 2018 году
  54. Лучшие VPN для России в 2018 году
  55. Лучшие материнские платы 2018: Intel и AMD
  56. Лучшие CMS 2018 года
  57. Лучшие бесплатные видеоредакторы 2018 года
  58. Лучшие бесплатные VPN сервисы 2018 года
  59. Как скачать Kodi на Mac
  60. Лучшие внешние жесткие диски 2018 года
  61. Fortnite на мобильных устройствах: как вступить в королевскую битву на iOS и Android
  62. Топ десять лучших бюджетных ноутбуков 2018 года
  63. Как настроить прокси-сервер
  64. Десять лучших камер Go Pro и их конкурентов в 2018 году
  65. Обзор умных часов Fitbit Versa
  66. Лучшие клавиатуры 2018 года
  67. Как сжать файлы на вашем ПК с помощью CompactGUI и увеличить пространство на диске
  68. 5 технологий защиты от взлома, которые должен использовать каждый
  69. Как записывать макросы и автоматизировать сложные задачи в Microsoft Word
  70. Как сделать видео из фотографий
  71. Обзор смартфона NOKIA 8
  72. Новые технологии для лечения рака
  73. Почему NVIDIA хранит гигабайты файлов установщика на вашем жестком диске?
  74. В чем разница между каталогами «System32» и «SysWOW64» в Windows?
  75. Обзор технологий продления жизни и основных причин преждевременного старения
  76. Топ десять лучших приложений для Linux 2018
  77. 10 лучших 3D-принтеров 2018 года
  78. Как отличить поддельные приложения от настоящих в Play Store
  79. Все способы обновления до Windows 10, легально и бесплатно!
  80. Как построить медиа-центр стоимостью 35 долларов с Kodi и Raspberry Pi
  81. Обзор технологии триплирования материалов
  82. Безопасно ли покупать подержанные видеокарты от майнеров криптовалюты?
  83. Компьютерные науки или программная инженерия – какое образование выбрать?
  84. Обзор, читы и советы для Monster Hunter World: все, что вам нужно знать для удачной охоты
  85. Как покупать и слушать новые аудиокниги Google Play
  86. 19 полезных советов и хитростей iPhone 8
  87. Обзор очков дополненной реальности Vuzix Blade
  88. 7 полезных гаджетов для кухни дешевле 50$
  89. С чего начать, чтобы стать айтишником, если вы далеки от IT
  90. Sony Aibo — восхитительный щенок с искусственным интеллектом
  91. Самые крутые компоненты для ПК, которые мы с нетерпением ждем в 2018 году
  92. 10 сайтов с задачами для оттачивания навыков программирования в 2018 году
  93. Импульсные нейронные сети: современное состояние и перспективы
  94. Топ 10 технологий, которые готовы выстрелить в 2018 году
  95. Путь веб-разработчика в 2018 году
  96. Обзор консоли Nintendo Switch
  97. Пять принципов хорошего кода для начинающих программистов
  98. Разработка ПО: решить любую проблему в 4 шага
  99. NoSQL базы данных: методы работы с данными
  100. Терминал Linux: видеокурс по работе на примере Ubuntu
  101. Как подключить ноутбук к телевизору?
  102. Что такое UEFI и чем он отличается от BIOS?
  103. PlayStation VR: руководство по запуску VR-гарнитуры на консоли
  104. Toп шесть Arduino-совместимых плат для вашего проекта
  105. Как слушать музыку на Spotify в отличном качестве
  106. Angry Birds 2 — советы, читы и секреты
  107. Насколько водонепроницаем ваш телефон? IP68, IP67 и другие рейтинги
  108. 5 лучших Raspberry Pi дистрибутивов в 2018 году
  109. Как загрузить бесплатные книги с DRM на ваш Kindle
  110. Что такое внутренняя ошибка сервера 500 и как ее исправить?
  111. Как делать скриншоты и записывать видео на PlayStation 4
  112. Как восстановить удаленный файл: полное руководство
  113. OLED против QLED: что лучше?
  114. Как удалить сообщения WhatsApp
  115. Проблемы с Google Pixel 2 и Pixel 2 XL: как их исправить
  116. Десять способов ускорить ваш Mac
  117. Как заблокировать майнеры криптовалюты в вашем веб-браузере
  118. Как обновить жесткий диск PS4, PS4 Slim и PS4 Pro
  119. Oculus Rift против HTC Vive: какая VR-гарнитура подойдет именно вам?
  120. Дата выпуска и самые свежие новости о Samsung Galaxy S9
  121. Почему я перешел с Chrome на Firefox Quantum
  122. AMD против Intel: битва 16-ядерных процессоров
  123. Как перенести все ваши данные из Chrome в Firefox
  124. Как майнить Ethereum на вашем компьютере
  125. Лучшие игровые ПК которые вы можете купить в 2018 году
  126. Как найти потерянный или украденный смартфон на Android
  127. Дата релиза OnePlus 5T, новости и слухи
  128. Как использовать голосовой набор в Windows 10
  129. Что такое eSIM и чем оно отличается от SIM-карты?
  130. Как зарядить ваш iPhone 7 беспроводной зарядкой
  131. Обзор Xbox One X
  132. YouTube TV: все, что вам нужно знать о стриминговом сервисе
  133. Лучшие видеокарты для добычи Bitcoin и Ethereum!
  134. Как установить macOS High Sierra в VirtualBox на Windows 10
  135. Лучшие смарт-часы, которые вы можете купить в 2017 году
  136. Какой лучший антивирус для Windows 10?
  137. 10 необычных применений VPN, о которых вы не знали
  138. Что делать, когда ваш iPhone или iPad не заряжается должным образом
  139. Проблемы с обновлением Windows 10 Fall Creators: как их исправить
  140. Проблемы с macOS 10.13 High Sierrа? Мы расскажем как их исправить!
  141. Как обновиться до Windows 10 Fall Creators Update сейчас
  142. Обзор смартфона Huawei Mate 10
  143. Ваша сеть Wi-Fi уязвима: как защититьcя от KRACK взлома
  144. Вот как будут выглядеть летающие автомобили
  145. Безопасность Wi-Fi: следует ли использовать WPA2-AES, WPA2-TKIP или оба?
  146. Следим за Лионелем Месси с помощью TensorFlow и Object Detection
  147. Star Wars: Battlefront 2 — советы и рекомендации
  148. Ваш компьютер может использоваться для майнинга криптовалюты
  149. Проблемы с iOS 11: как их решить
  150. Электрокары, будущее уже наступило!
  151. Samsung Galaxy Note 8: секреты и уловки
  152. Что такое VPN?
  153. Будут ли технологии решать наши проблемы со сном?
  154. Смартфоны Samsung Galaxy S8 и Note 8 теперь могут легко запускать Windows 10
  155. HTML5: что это?
  156. Как перейти с Android на iPhone
  157. iOS 12: наши ожидания
  158. Обновление iOS 11.1 добавит сотни новых emoji на ваш iPhone или iPad
  159. Обзор Google Pixel 2 Event: Новые смартфоны и многое другое
  160. Обзор шлема виртуальной реальности Samsung HMD Odyssey
  161. Обзор ноутбука Xiaomi Mi Air 13.3
  162. Windows 10 может обойти Windows 7 до конца 2017 года
  163. Обзор консоли SNES Classic Mini
  164. Изобретены дроны, которыми можно управлять с помощью мозга
  165. Семь причин не использовать VPN
  166. Новый язык программирования от Microsoft создан для квантовых компьютеров
  167. Документы Google Диска теперь доступны в файловом менеджере iOS 11
  168. Топ десять лучших бюджетных ноутбуков 2017 года
  169. Обзор Intel Core i9-7980XE
  170. MacOS High Sierra теперь можно скачать бесплатно
  171. Лучшие усилители Wi-Fi
  172. Firefox 9.0 для iOS прибыл с защитой от слежки, Firefox Focus для Android получил вкладки
  173. Обзор Samsung Portable SSD T5
  174. Изучение языка программирования Ruby: от новичка до профессионала. Часть первая
  175. 15 изменений в iOS 11 о которых не рассказала Apple
  176. Лучшие процессоры 2017 года
  177. Всё что вам необходимо знать об Apple Watch 3
  178. Лучшие гаджеты 2017 года
  179. Десять лучших игровых ноутбуков 2017 года
  180. iPhone 8 против Samsung Galaxy S8
Воскресенье, 20 Январь, 2019
  1. Тренды в Data Science на 2019 год
  2. HUAWEI Mate 20 Pro — король смартфонов
  3. Oculus Quest — автономная гарнитура VR следующего поколения за 399 долларов
  4. Как скрыть свой IP-адрес
  5. Google Pixel 3: дата релиза, цены, новости и слухи
  6. Обзор iPhone XR
  7. Обзор Apple Watch 4
  8. Как удалить фон из изображения в Microsoft Word
  9. Как стримить на YouTube
  10. Почему Chrome сообщает мне «Обновите или удалите несовместимые приложения»?
  11. Все, что вам нужно знать о Halo Infinite
  12. Предварительный обзор Nvidia GeForce RTX 2080
  13. Обзор Samsung Galaxy Watch
  14. Как сделать сканер отпечатка пальца вашего телефона более точным
  15. В чем смысл беспроводного жесткого диска и нужен ли он мне?
  16. Шесть функций iPhone, которые вы не найдете на Android
  17. Восемь советов по продлению срока службы батареи вашего ноутбука
  18. Android 9 Pie против Android 8 Oreo: что нового и что изменилось?
  19. Как ускорить работу Ubuntu 18.04
  20. Проблемы с macOS 10.14 Mojave? Мы расскажем как их исправить!
  21. Лучшие беспроводные наушники 2018 года
  22. Как ускорить работу macOS 10.13
  23. Как ускорить работу Windows 10
  24. Xbox Two против PS5: прогноз на будущее
  25. Как получить сообщения c Android на ПК
  26. Обзор Android Auto
  27. Проблемы и их решения iOS: как решить самые неприятные проблемы с iPhone и iPad
  28. Как запустить старые компьютерные игры на Windows 10
  29. Что такое Dolby Atmos?
  30. 18 новых функций iOS 12 Mojave, которые Apple не показала нам на презентации
  31. Обзор смартфона Asus ROG : Самый быстрый смартфон в мире
  32. Как скачать и установить MacOS 10.14 Mojave Developer Preview прямо сейчас
  33. Топ 5 лучших редакторов кода для Windows, Linux и Mac в 2018 году
  34. Windows 10 проблемы с апрельским обновлением 2018: как их исправить
  35. FIFA 19 дата выхода, форматы и слухи: появление Лиги чемпионов и многое другое
  36. Call of Duty: Black Ops 4 дата выпуска и новости: режим Battle Royale подтвержден!
  37. Обзор OnePlus 6: самый впечатляющий смартфон от OnePlus
  38. Лучшие бесплатные загрузчики видео с YouTube в 2018
  39. Как безопасно майнить на вашем Android смартфоне
  40. Самые надежные портативные Bluetooth-динамики
  41. Как перейти на последнюю версию Ubuntu
  42. Лучшая камера 2018: CSC и цифровые SLR-камеры от 250 долларов
  43. Топ пять квадрокоптеров — дронов для съёмки видео в 2018 году
  44. Лучшие фотопринтеры в 2018 году: лучшие решения для ваших цифровых фотографий
  45. Топ пять роскошных мотоциклов дешевле 12000 долларов
  46. Дата релиза Mac Pro 2019, новости и слухи
  47. Топ 5 легальных сайтов для скачивания и прослушивания музыки бесплатно
  48. Топ 10 ретро автомобилей опередивших своё время
  49. Лучшие подкаст-приложения для Android
  50. Обзор нового ноутбука Lenovo Thinkpad X1 Carbon
  51. Лучшие конструкторы сайтов в 2018 году
  52. Лучшие бесплатные конвертеры PDF в 2018 году
  53. Лучшие бесплатный хостинг для web-сайтов в 2018 году
  54. Лучшие VPN для России в 2018 году
  55. Лучшие материнские платы 2018: Intel и AMD
  56. Лучшие CMS 2018 года
  57. Лучшие бесплатные видеоредакторы 2018 года
  58. Лучшие бесплатные VPN сервисы 2018 года
  59. Как скачать Kodi на Mac
  60. Лучшие внешние жесткие диски 2018 года
  61. Fortnite на мобильных устройствах: как вступить в королевскую битву на iOS и Android
  62. Топ десять лучших бюджетных ноутбуков 2018 года
  63. Как настроить прокси-сервер
  64. Десять лучших камер Go Pro и их конкурентов в 2018 году
  65. Обзор умных часов Fitbit Versa
  66. Лучшие клавиатуры 2018 года
  67. Как сжать файлы на вашем ПК с помощью CompactGUI и увеличить пространство на диске
  68. 5 технологий защиты от взлома, которые должен использовать каждый
  69. Как записывать макросы и автоматизировать сложные задачи в Microsoft Word
  70. Как сделать видео из фотографий
  71. Обзор смартфона NOKIA 8
  72. Новые технологии для лечения рака
  73. Почему NVIDIA хранит гигабайты файлов установщика на вашем жестком диске?
  74. В чем разница между каталогами «System32» и «SysWOW64» в Windows?
  75. Обзор технологий продления жизни и основных причин преждевременного старения
  76. Топ десять лучших приложений для Linux 2018
  77. 10 лучших 3D-принтеров 2018 года
  78. Как отличить поддельные приложения от настоящих в Play Store
  79. Все способы обновления до Windows 10, легально и бесплатно!
  80. Как построить медиа-центр стоимостью 35 долларов с Kodi и Raspberry Pi
  81. Обзор технологии триплирования материалов
  82. Безопасно ли покупать подержанные видеокарты от майнеров криптовалюты?
  83. Компьютерные науки или программная инженерия – какое образование выбрать?
  84. Обзор, читы и советы для Monster Hunter World: все, что вам нужно знать для удачной охоты
  85. Как покупать и слушать новые аудиокниги Google Play
  86. 19 полезных советов и хитростей iPhone 8
  87. Обзор очков дополненной реальности Vuzix Blade
  88. 7 полезных гаджетов для кухни дешевле 50$
  89. С чего начать, чтобы стать айтишником, если вы далеки от IT
  90. Sony Aibo — восхитительный щенок с искусственным интеллектом
  91. Самые крутые компоненты для ПК, которые мы с нетерпением ждем в 2018 году
  92. 10 сайтов с задачами для оттачивания навыков программирования в 2018 году
  93. Импульсные нейронные сети: современное состояние и перспективы
  94. Топ 10 технологий, которые готовы выстрелить в 2018 году
  95. Путь веб-разработчика в 2018 году
  96. Обзор консоли Nintendo Switch
  97. Пять принципов хорошего кода для начинающих программистов
  98. Разработка ПО: решить любую проблему в 4 шага
  99. NoSQL базы данных: методы работы с данными
  100. Терминал Linux: видеокурс по работе на примере Ubuntu
  101. Как подключить ноутбук к телевизору?
  102. Что такое UEFI и чем он отличается от BIOS?
  103. PlayStation VR: руководство по запуску VR-гарнитуры на консоли
  104. Toп шесть Arduino-совместимых плат для вашего проекта
  105. Как слушать музыку на Spotify в отличном качестве
  106. Angry Birds 2 — советы, читы и секреты
  107. Насколько водонепроницаем ваш телефон? IP68, IP67 и другие рейтинги
  108. 5 лучших Raspberry Pi дистрибутивов в 2018 году
  109. Как загрузить бесплатные книги с DRM на ваш Kindle
  110. Что такое внутренняя ошибка сервера 500 и как ее исправить?
  111. Как делать скриншоты и записывать видео на PlayStation 4
  112. Как восстановить удаленный файл: полное руководство
  113. OLED против QLED: что лучше?
  114. Как удалить сообщения WhatsApp
  115. Проблемы с Google Pixel 2 и Pixel 2 XL: как их исправить
  116. Десять способов ускорить ваш Mac
  117. Как заблокировать майнеры криптовалюты в вашем веб-браузере
  118. Как обновить жесткий диск PS4, PS4 Slim и PS4 Pro
  119. Oculus Rift против HTC Vive: какая VR-гарнитура подойдет именно вам?
  120. Дата выпуска и самые свежие новости о Samsung Galaxy S9
  121. Почему я перешел с Chrome на Firefox Quantum
  122. AMD против Intel: битва 16-ядерных процессоров
  123. Как перенести все ваши данные из Chrome в Firefox
  124. Как майнить Ethereum на вашем компьютере
  125. Лучшие игровые ПК которые вы можете купить в 2018 году
  126. Как найти потерянный или украденный смартфон на Android
  127. Дата релиза OnePlus 5T, новости и слухи
  128. Как использовать голосовой набор в Windows 10
  129. Что такое eSIM и чем оно отличается от SIM-карты?
  130. Как зарядить ваш iPhone 7 беспроводной зарядкой
  131. Обзор Xbox One X
  132. YouTube TV: все, что вам нужно знать о стриминговом сервисе
  133. Лучшие видеокарты для добычи Bitcoin и Ethereum!
  134. Как установить macOS High Sierra в VirtualBox на Windows 10
  135. Лучшие смарт-часы, которые вы можете купить в 2017 году
  136. Какой лучший антивирус для Windows 10?
  137. 10 необычных применений VPN, о которых вы не знали
  138. Что делать, когда ваш iPhone или iPad не заряжается должным образом
  139. Проблемы с обновлением Windows 10 Fall Creators: как их исправить
  140. Проблемы с macOS 10.13 High Sierrа? Мы расскажем как их исправить!
  141. Как обновиться до Windows 10 Fall Creators Update сейчас
  142. Обзор смартфона Huawei Mate 10
  143. Ваша сеть Wi-Fi уязвима: как защититьcя от KRACK взлома
  144. Вот как будут выглядеть летающие автомобили
  145. Безопасность Wi-Fi: следует ли использовать WPA2-AES, WPA2-TKIP или оба?
  146. Следим за Лионелем Месси с помощью TensorFlow и Object Detection
  147. Star Wars: Battlefront 2 — советы и рекомендации
  148. Ваш компьютер может использоваться для майнинга криптовалюты
  149. Проблемы с iOS 11: как их решить
  150. Электрокары, будущее уже наступило!
  151. Samsung Galaxy Note 8: секреты и уловки
  152. Что такое VPN?
  153. Будут ли технологии решать наши проблемы со сном?
  154. Смартфоны Samsung Galaxy S8 и Note 8 теперь могут легко запускать Windows 10
  155. HTML5: что это?
  156. Как перейти с Android на iPhone
  157. iOS 12: наши ожидания
  158. Обновление iOS 11.1 добавит сотни новых emoji на ваш iPhone или iPad
  159. Обзор Google Pixel 2 Event: Новые смартфоны и многое другое
  160. Обзор шлема виртуальной реальности Samsung HMD Odyssey
  161. Обзор ноутбука Xiaomi Mi Air 13.3
  162. Windows 10 может обойти Windows 7 до конца 2017 года
  163. Обзор консоли SNES Classic Mini
  164. Изобретены дроны, которыми можно управлять с помощью мозга
  165. Семь причин не использовать VPN
  166. Новый язык программирования от Microsoft создан для квантовых компьютеров
  167. Документы Google Диска теперь доступны в файловом менеджере iOS 11
  168. Топ десять лучших бюджетных ноутбуков 2017 года
  169. Обзор Intel Core i9-7980XE
  170. MacOS High Sierra теперь можно скачать бесплатно
  171. Лучшие усилители Wi-Fi
  172. Firefox 9.0 для iOS прибыл с защитой от слежки, Firefox Focus для Android получил вкладки
  173. Обзор Samsung Portable SSD T5
  174. Изучение языка программирования Ruby: от новичка до профессионала. Часть первая
  175. 15 изменений в iOS 11 о которых не рассказала Apple
  176. Лучшие процессоры 2017 года
  177. Всё что вам необходимо знать об Apple Watch 3
  178. Лучшие гаджеты 2017 года
  179. Десять лучших игровых ноутбуков 2017 года
  180. iPhone 8 против Samsung Galaxy S8

Разработка ПО требует не только навыков программирования, но и умения решать проблемы в ходе разработки. Разбираемся, что делать, чтобы разобраться с любой проблемой в коде.

Разработка ПО: основные шаги при поиске проблем

Для решения проблем, связанных с разработкой ПО, можно выделить четыре этапа:

  • Определение проблемы;
  • Сбор информации;
  • Поиск потенциального решения;
  • Проверка решения.

Определение проблемы

Если мы говорим о проблеме при разработке ПО, будем иметь в виду проблему любого размера и масштаба:

  • Вы делаете что-то очень специфичное и не можете заставить часть кода работать так, как вы хотите.
  • Отладчик выдает странные ошибки, вы понятия не имеете что может быть не так;
  • Вы пытаетесь разобраться со старым кодом, о принципах работы которого знал только разработчик, который давно уволился;
  • Вы видите приложение в целом, но не представляете, как должна происходить разработка ПО в деталях, не видите компоненты приложения по отдельности;
  • Вы решаете, какой набор фреймворков/программ использовать для разработки проекта, но не можете выбрать лучший;
  • Вы знаете, что есть существует функция, которая может сделать то, что вам нужно, но не можете вспомнить как она называется.

В одних случаях понять и определить проблему проще, чем в других. К примеру, иногда ошибка простая и вы сразу понимаете, что допустили опечатку в синтаксисе. А иногда, ошибка полностью выбивает из колеи: программа просто делает не то, что вы от нее ожидаете.

Даже в тяжелом случае, попробуйте сформулировать проблему более точно, задав себе наводящие вопросы:

  • Что я пытаюсь сделать?
  • Что я уже сделал?
  • Что, по-моему, должна делать программа?
  • Что это на самом деле делает?

Сбор информации

Иногда люди пропускают прошлый шаг и сразу переходят ко второму:

  • Ищут решение на StackOverflow;
  • Копируют решения со Стека или какой-либо литературы, не понимая, что делает этот код.

И это не плохо, иногда такой способ решения проблем допустим. Но он должен быть лишь одним из инструментов в вашем ящике, а не единственным используемым решением.

Что еще должно быть в вашем наборе для решения проблем? Подумайте о той информации, которую вы ищете:

  • Если вы точно знаете, какую функцию, класс или метод API вы используете, сначала посмотрите, что пишут в соответствующей документации, чтобы убедиться, что вы правильно это делаете;
  • Если у вас возникли проблемы при использовании ПО с открытым кодом, загляните в исходники и посмотрите, как описана проблемная функция – возможно вы все-таки используете ее неправильно;
  • Чтобы получить общее представление о новой библиотеке или фреймворке, найдите подходящий туториал/краткое руководство;
  • Если вы не понимаете, почему часть кода написана конкретным образом, попробуйте заглянуть в историю комминтов – прошлые изменения или комментарии могут прояснить картину;
  • И, конечно, гуглите. Иногда вы точно знаете, что вам нужно, но не можете сформировать это в виде названия метода или функции, либо не можете вспомнить какие точно они принимают аргументы. В такой ситуации поисковик может оказаться лучшим решением, которое даст необходимую подсказку.

Если один из методов долгое время не помогает, переключитесь на другой. Многие разработчики сразу переходят в поисковые системы, но использование различных методик поиска информации поможет расширить кругозор и лучше понимать эту и будущие проблемы.

Поиск потенциального решения

Если вы застряли, начните с чего-нибудь, с чего угодно. Если конечный результат при этом изменился – это успех. Продолжайте менять код до тех пор, пока не придете к подходящему решению.

Если вы разбираетесь с незнакомым кодом, попробуйте менять его понемногу. Выводите результат работы функций и переменные в консоль, чтобы понять как именно код будет работать при тех или иных изменениях.

Проверяйте работу кода как можно чаще. Да вы будете отвлекаться на это и тратить время, но это намного лучше, чем писать часть программы много часов без тестов, а потом узнать что она не работает, и неизвестно в каком месте.

Проверка решения

Когда все работает, проверьте насколько хорошо. Это можно сделать вручную: попробуйте подстроить условия выполнения таким образом, чтобы воспроизвести баг, от которого вы избавились, подумайте, как ошибка может проявиться еще и поменяйте соответствующим образом код, чтобы убедиться в его исправности.

Этот процесс можно автоматизировать. Добавление автоматического теста, который подтвердит, что функция работает как и задумывалось или что ошибка больше не возникает поможет избежать непредвиденных проблем.

На основе тестов существует целый подход к разработке – разработка ПО через тестирование. Под каждое изменение, которое планируется в проекте сначала пишется тест, который покрывает возможные сценарии работы программы.

Tags:

Похожие новости

Нет похожих статей

0 Comments

Оставить комментарий

КРИПТОВАЛЮТА

NamePrice24H (%)
Bitcoin (BTC)
$3,681.88
1.80%
Ethereum (ETH)
$123.00
2.29%
XRP (XRP)
$0.327390
1.30%
Bitcoin Cash (BCH)
$128.17
0.99%
Litecoin (LTC)
$32.56
4.47%
IOTA (MIOTA)
$0.314385
0.91%
Monero (XMR)
$45.30
1.23%
Dash (DASH)
$72.35
2.66%

Реклама