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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tags:

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

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

0 Comments

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

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

NamePrice24H (%)
Bitcoin (BTC)
$4,044.55
1.46%
Ethereum (ETH)
$138.79
1.03%
Bitcoin Cash (BCH)
$158.37
1.25%
XRP (XRP)
$0.316792
1.01%
Litecoin (LTC)
$60.00
2.20%
IOTA (MIOTA)
$0.297238
1.18%
Dash (DASH)
$92.20
3.02%
Monero (XMR)
$54.06
2.94%

Реклама