Як ви максимально використовуєте знання, які ви отримуєте з книги програмування? [зачинено]


26

Не тому, що мені байдуже, скільки часу комусь потрібно прочитати книгу, а більше тому, що мене цікавить, як люди отримують знання з книги (або я здогадуюсь інших джерел) у мізки найкращим та найефективнішим способом.

Особисто я використовую багатопрохідний підхід (від моєї відповіді до оригінального питання):

  1. Прогляньте вміст, зануртесь і прочитайте що-небудь із цікавим заглядом заголовком і нарешті подивіться на будь-які приємні діаграми та ілюстрації. На цьому етапі я не займатимусь багато, але це дає ментальний погляд на книгу (щонайбільше години або близько)
  2. Спочатку пройдіться книгою, як правило, я ретельно прочитаю вступні глави книги, яка є дуже важкою, або вводить щось зовсім нове. Що стосується книг, які висвітлюють тему, про яку я вже знаю, я буду знімати чи пропускати біти, які здаються тривіальними. Залишок книги я пройду досить швидко, але не так швидко, що я просто гортаю сторінку. (близько тижня)
  3. Не всі книги, які я читаю, роблять це далеко так далеко, але якщо я вважаю книгу достатньо цікавою чи корисною, тоді я вивчу її належним чином. Я буду переглядати книгу повільнішими темпами і робити деякі або всі приклади, спробувати код тощо. Я часто пропускатиму тут цілі глави, якщо книга не дуже хороша (1-3 тижні залежно від книги).
  4. Нарешті, коли я закінчив її читати і читаю інші книги, я часто занурююся в неї знову і знову, щоб перехресне посилання, порівняння, перегляд речей, перегляд тощо - так багато моїх улюблених книг не просто закінчуються збиранням пил на книжковій полиці.

Я рідко беру примітки під час читання (хоча я можу зробити певне планування на папері, якщо працюю через щось на зразок зразка коду). Я також розглядав питання про те, щоб почати використовувати особистий канбан для організації свого прогресу, але ніколи ще не використовував цю техніку. Розумні карти - це ще одна річ, мені подобається ідея, але це рідко робиться.

Які ще методи для людей є? Наскільки успішно ви їх знаходите? Чи існують якісь рекомендовані методи, які, на вашу думку, є марною тратою часу?


Я особисто намагаюся довести автора неправильним або побачити, чи є кутові випадки, які ламаються, або я не розумію. ІМО, будь-які знання, які ви засвоїте, але не перевіряйте на помилковість, можуть бути мечем з двома кінцями.
СподіваюсьДопомога

Відповіді:


30

Робіть вправи.

Якщо таких немає, придумайте кілька.


3
А після виконання вправ повторно реалізуйте їх у власному коді по-своєму. Приклади є прекрасними і хорошими, але нічого подібного до реальної реалізації, щоб повністю зрозуміти концепцію.
Гюго

+1: ви можете додати це до початку цієї відповіді: "Тренуйтеся".
Клаїм

Усі програми програмування сьогодні до кінця складають короткий проект. Зробити це - найбільший орієнтир, який може мати кожен, щоб відстежувати прогрес.
Венкі

6

Переконайтеся, що ви якомога швидше застосуєте деякі прийоми у щоденному програмуванні.

Я вважаю, що якщо я не одразу застосував речі, про які я дізнався, мені доведеться їх повторно відвідувати, коли вони мені справді потрібні.


1
Абсолютно. Крім того, я думаю, що тільки коли ви застосовуєте щось у контексті, відмінному від представленого в книзі, ви дійсно міняєтесь на запам'ятовування на розуміння. На жаль, це не завжди можливо ... не дивлячись на те, що я менеджер з розробки, де я працюю, тому ніхто не буде насправді ставити під сумнів, чи можу я придумати правдоподібну причину, чому ми повинні робити таке і таке в Prolog чи будь-що інше, це іноді просто не доречно залучати речі до повсякденної роботи. Я думаю, саме для цього потрібні особисті проекти, але тоді ви втрачаєте багато переваг накопиченого навчання.
FinnNk

@FinnNk - Я не сказав, що це буде легко;) Це проблема, яка у мене на даний момент з WPF. Я роблю проект вдома, але не витрачайте на нього багато часу, тому мені постійно доводиться переглядати те, що я знаю.
ChrisF

6

Виділіть все, що вас здивувало. Це полегшить його знайти в майбутньому.

Напишіть на полях широко.

Якщо ви позичаєте свою книгу комусь, попросіть людину дотримуватися цих самих правил, в ідеалі в різних кольорах. Це додає вашій книзі цінності.


2

Перейди це з другом. Ще краще розглянути книгу як вправу, як парне програмування, де ви обидва намагаєтесь пояснити її один одному. (І звичайно виконайте вправи, як було сказано вище)


1

Реалізація

Реалізуйте кожен новий алгоритм чи техніку, про яку ви читали, самостійно, використовуючи лише свою пам’ять про опис алгоритму чи техніки як еталонну.


1

Через мій дефіцит уваги мені важко зосередитись, коли я навчаюсь за традиційним підходом до початку. Я переходжу до кінця глави і переходжу безпосередньо до вправ, а потім використовую комбінацію книги та Інтернету як орієнтир для вирішення проблем.

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

Мої проблеми з фокусом також означають, що я не набираю приклади коду безпосередньо, а замість цього думаю про власні приклади та використовую код у книзі, щоб допомогти мені їх реалізувати. Творчість у процесі навчання гарантує мені задоволення від цього, а унікальність того, що я створюю, полегшує запам’ятати, що я роблю.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.