Коротка відповідь:
Практика, практика, практика.
Не дуже коротка відповідь:
Як ви пам’ятаєте, як ходити? Як ти пам’ятаєш, як говорити? Ці навички не зовсім однакові, і вони не потребують, здавалося б, енциклопедичних знань (як мінімум для початківців), але ви використовуєте те саме: пам'ять.
Хоча я визнаю, що для початківців програмування може здатися неправдоподібним предметом, коли ви починаєте його вивчати, воно стає як і будь-який інший предмет, як тільки ви понизили основи.
Щойно я зрозумів це, я почав розбивати речі на більш дрібні та менші шматки (моя власна, особиста версія абстракції). Таким чином, щось легше запам'ятати стає легше (принаймні, зі мною це робиться).
Записування речей допомагає більше, ніж ви могли подумати (працюючи в освіті, я знаю, що це може мати величезний позитивний вплив на утримання). Особливо, якщо ви можете вкласти це своїми словами - а не просто копіювати їх дослівно. Якщо ви можете перефразовувати або прирівняти його до чогось, що ви вже знаєте, ще краще.
Наприклад: У C # рядкові об'єкти незмінні. Це означає, що щоразу, коли я кажу своїй програмі змінити вміст об'єкта рядка, те, що насправді відбувається, руйнується оригінальна рядок (технічно вона розміщується на нижньому рівні сміттєзбірника). Саме так, коли художник робить помилку, створюючи мармурову скульптуру - її неможливо змінити, таким чином вона руйнується і створюється нова.
Це не чудовий приклад, але він показує основи того, до чого я потрапляю.
Документація щодо якості теж допомагає. Щось, що одного разу сказав мій викладач програмування:
Зробіть свій коментар багатослівним. Не до дурість, але вам потрібно вміти писати коментарі, які непрограміст міг зрозуміти. Таким чином, ви знаєте, що хтось інший у проекті може це зрозуміти, ідеально. Уявіть, що ви витратили б місяці на впровадження системи, але ви потрапили в якусь жахливу аварію на шляху до роботи. Хтось інший буде призначений вашій роботі - особливо якщо це близько до часу стискання - і якщо вони не можуть зрозуміти, що робить ваш код, то виробництво припиняється.
Хороші книги - це також відмінний ресурс. Інший викладач одного разу сказав мені, що якщо книга не має індексу (а їх там багато, яких немає), купувати її не варто.
Google може бути дивовижним ресурсом, але будьте в курсі копіювальних вставок. Не тримайтеся подалі від сайтів, які просто надають вам код коду без пояснень. Я вважаю за краще прочитати цілу статтю про невеликі блоки коду, таким чином ви відійдете, точно знаючи, що саме призначений блок коду, як він це робить, і чому програміст написав це саме так.
Сподіваюся, що це допомагає