Што трэба зрабіць, каб думаць, як праграміст

  1. Чаму гэта важна?
  2. Знайдзіце заканамернасць
  3. 1. Зразумейце яе
  4. 2. Плануйце
  5. 3. Разбівайце праблему на маленькія подпроблемы
  6. 4. Затрымаліся?
  7. практыкуйцеся
  8. Названыя 5 самых папулярных моў праграмавання па версіі HackerRank
  9. Як стаць праграмістам, калі вельмі хочацца, але досведу няма

Што значыць думаць, як праграміст? Па сутнасці, усё заключаецца ў больш эфектыўным спосабе вырашэння праблем. Блогер і распрацоўшчык мабільных прыкладанняў Рычард Рыс даў некалькі парадаў, як развіць вылічальны вобраз мыслення.

Чаму гэта важна?

Рашэнне праблем - гэта метанавык. Як мы з імі спраўляемся? Даволі выпадкова. Калі ў вас няма сістэмы, вы, хутчэй за ўсё, «вырашаеце» праблемы такім чынам:

  1. Спрабуеце рашэнне.

  2. Калі не атрымліваецца, спрабуеце іншае.

  3. Паўтараеце крок другі, пакуль не пашанцуе.

Так рабіць не варта. Гэта велізарная страта часу. Вам трэба а) знайсці заканамернасць і б) практыкавацца.

«Амаль усе працадаўцы ў першую чаргу глядзяць на тое, як супрацоўнікі вырашаюць праблемы. Менавіта гэты навык для іх важней, чым веданне моў праграмавання, адладка і праектаванне сістэмы. Вылічальнае мысленне і магчымасць спраўляцца з вялікімі і складанымі праблемамі цэняцца гэтак жа, як і базавыя тэхнічныя навыкі, неабходныя для працы », - HackerRank (Справаздача аб навыках распрацоўшчыкаў 2018).

Знайдзіце заканамернасць

«Навічкі-праграмісты часта факусуюцца на вывучэнні сінтаксісу, а не на вырашэнні праблем. І гэта самая вялікая памылка », - В. Антон Спрол .

Што ж трэба рабіць, калі вы сутыкаецеся з новай праблемай?

1. Зразумейце яе

Вы павінны ведаць, што ад вас патрабуецца. Задачы здаюцца складанымі, таму што вы не разумееце іх. Як даведацца, зразумелі вы праблему ці не? Паспрабуйце растлумачыць яе простай мовай.

Фота: Unsplash

Так адбываецца даволі часта: вы захрасае на задачы, пачынаеце тлумачыць яе, і раптам заўважаеце лагічныя недахопы? Большасці праграмістаў знаёма гэта пачуццё. Запішыце на паперу вашу праблему або раскажыце пра яе камусьці.

2. Плануйце

Ня прыступайце адразу да вырашэння праблемы без плана. Вам нічога не дапаможа, калі вы не распіша дакладныя крокі. Дайце мозгу час прааналізаваць праблему і апрацаваць інфармацыю. Каб скласці добры план, адкажыце на гэтае пытанне:

«Дапусцім, на ўваходзе ёсць X. Якія крокі патрэбныя для таго, каб на выхадзе атрымаць Y?»

У праграмістаў ёсць выдатны інструмент для гэтага ... Каментарыі!

3. Разбівайце праблему на маленькія подпроблемы

Гэта самы важны крок. Не спрабуйце адразу вырашыць адну вялікую задачу. Замест гэтага разбіце яе на невялікія задачы і паступова вырашайце іх. Пачніце з самай простай - гэта значыць з той, адказ на якую вы ўжо ведаеце. Як толькі вы справіцеся з усімі, злучыце кропкі. Так вы зможаце вырашыць першапачатковую задачу.

«Я заўсёды раю праграмістам-пачаткоўцам спрашчаць праблему. Давайце ўявім, што вам трэба напісаць праграму, якая чытае дзесяць лікаў і вызначае, якое будзе з іх будзе трэцім па велічыні. Пачаткоўцам гэта заданне можа здацца вельмі складаным, нягледзячы на ​​тое, што для яго рашэнні неабходна веданне базавага сінтаксісу. Калі вы затрымаліся, паспрабуйце спрасціць праблему. Замест трэцяга па велічыні колькасці паспрабуйце знайсці проста самае вялікае з усіх. Усё яшчэ складана? Знайдзіце самы вялікі лік з трох зададзеных. Або з двух. Спрашчае праблему да таго часу, пакуль не зразумееце, як яе вырашыць. Затым паступова ўскладняе задачу і перапісваюць рашэнне », - В. Антон Спрол.

4. Затрымаліся?

Вы цяпер, мусіць, думаеце: «Ну так, гэта, вядома, выдатна, але што калі я затрымаўся і не магу вырашыць нават маленькую праблему?»

Фота: Unsplash

Не хвалюйцеся. Гэта адбываецца з усімі. Розніца заключаецца ў тым, што праграмісты ня злуюцца, калі сутыкаюцца з гэтым. Ім наадварот цікава знайсці рашэнне. Вось тры спосабу, як з гэта зрабіць:

  • Ацэніце нанова. Паглядзіце на праблему з іншага боку. Ці ёсць нешта, што можна ўявіць больш простым спосабам?

«Часам мы губляемся ў дэталях і ўпускаем агульныя прынцыпы, якія дапамаглі б вырашыць задачу хутчэй. Класічны прыклад - гэта сума паслядоўных лікаў - 1 + 2 + 3 + ... + n. Карл Фрыдрых Гаўс прадставіў гэта ў выглядзе выразы n (n + 1) / 2, і яму не прыйшлося выконваць непатрэбныя вылічэнні ».

Ёсць яшчэ адзін варыянт - цалкам перапісаць код. Выдаліць усе і пачаць нанова.

  • Даследуйце. Усё роўна, якую задачу вы спрабуеце вырашыць цяпер. Хтосьці ўжо зрабіў гэта да вас. Вам трэба проста пашукаць. Рабіце гэта, нават калі вырашылі праблему.

практыкуйцеся

Не думайце, што праз тыдзень вы станеце майстрам у гэтай галіне. Калі вы хочаце добра вырашаць задачы, рабіце гэта рэгулярна. Практыкуйцеся. Шахматы, матэматычныя задачы, судоку, га, манаполія, відэагульні, криптокотики - усё гэта дапаможа вам адточваць навык вырашэння праблем. Вядомыя людзі таксама так робяць. Напрыклад, Піцер Тыль гуляе ў шахматы, а Ілона Маск - у відэагульні .

«Ілона Маск, Рыд Хофман, Марк Цукерберг і іншыя сцвярджаюць, што гульні заклалі аснову для іх поспеху», - Мэры Мікераў .

Няўжо гэта значыць, што вы павінны проста гуляць у відэагульні? Не зусім. Вядома, трэба яшчэ вучыцца. Знайдзіце нешта, дзе вы маглі б практыкаваць свае ўменні.

Матэрыялы па тэме:

Названыя 5 самых папулярных моў праграмавання па версіі HackerRank

12 прыкмет дрэннага праграміста - выяўляем непрафесіянала

Як стаць праграмістам, калі вельмі хочацца, але досведу няма

Як я кінуў працу графічным дызайнерам і стаў frontend-распрацоўшчыкам за пяць месяцаў

Знайшлі памылку друку? Вылучыце тэкст і націсніце Ctrl + Enter

Чаму гэта важна?
4. Затрымаліся?
Чаму гэта важна?
Як мы з імі спраўляемся?
Што ж трэба рабіць, калі вы сутыкаецеся з новай праблемай?
Як даведацца, зразумелі вы праблему ці не?
Якія крокі патрэбныя для таго, каб на выхадзе атрымаць Y?
Усё яшчэ складана?
4. Затрымаліся?
Вы цяпер, мусіць, думаеце: «Ну так, гэта, вядома, выдатна, але што калі я затрымаўся і не магу вырашыць нават маленькую праблему?