Искам да бъда най-добрият, като никой никога не е бил ... - Част 1

Добре, така че вероятно сте тук, защото искате да знаете повече за света на софтуерното инженерство, или сте нов в областта на кодирането и искате да знаете какви стъпки трябва да предприемете, или може би имате опит в училище или онлайн курс, но сте заседнали, след като научите някакъв синтаксис и не знаете къде да отидете от там. Е, всички са добре дошли.

Тази статия ще хвърли светлина върху правилните стъпки, които трябва да предприемете, за да станете страхотен разработчик на софтуер въз основа на моя опит и разбиране, тъй като се опитвам да разбивам всяка стъпка по пътя на това, което вярвам, че е най-важните точки за прекъсване, за да изградя здрава основа влезте в света на кодирането. Ще подчертая най-често срещаните грешки, които съм виждал да правят други, а може би дори някои мои грешки (⊙.⊙).

„Пътешествието да бъде най-доброто започва с една стъпка, но не всеки може да предприеме всички стъпки, необходими за достигане на върха. Няма преки пътища към успеха, всяка предприета стъпка е ново преживяване, безценно е и не може да се търгува за по-лесен изход. За да достигне нови висоти, човек трябва да се бори и да се съхранява. Разработчикът е толкова добър, колкото и броят проблеми, с които се сблъсква и решава “

Въпреки че това ръководство ще бъде най-ефективно за студентите в началото на пътуването им по LONG софтуерно инженерство, надявам се, че ще предостави ценна представа и на други, които може да се задържат. Независимо дали е през първата, втората година или дори ако са в колело по-нататък в кариерата си.

Без допълнително обожание, нека направим първата стъпка заедно ...

Java - по-лесен C ++

В гимназията или колежа, CS1 (Computer Science 1) и CS2 могат да се предлагат на Java. Това е много спорен първи език по безброй причини, но вярвам, че се свежда до това. Научаването на Java като първият портал в света на кода е като птица, която се изтласква от гнездото си, за да се научи как да лети или да кара колело за първи път без тренировъчни колела, вие ще бъдете наранени. Но по-късно ще бъдете благодарни, че сте свикнали с болката в началото, защото Java бързо въвежда и вгражда различни понятия във вас на много ранен етап, като например и поради

  • Обекти, примитиви, скоби и скоби, квадратни и къдрави
  • Това е много многословен и статично написан здрав език
  • Ще напишете много повтарящи се неща, които ще ви помогнат да подобрите скоростта на писане за начинаещи и компактни ключови думи като String и int

Силно препоръчвам „Синият пеликан“ от Чарлз Е. Кук, това е напълно различно от всеки друг скучен дълъг и досаден учебник на Java с дълъг увод за историята на компютърните науки и нейната цел или автори, стига се дотам с просто привет световен пример, който се надгражда с по-прости упражнения.

Искате ли да вземете копие? Вземете твърдата корица от Amazon днес и започнете да правите упражненията с безплатния BlueJ IDE

Връзка към книгата: https://amzn.to/2Y0qzaO

Връзка към BlueJ IDE: https://www.bluej.org/

Обратно към Java, определено е много по-трудно да се учи от обикновен език като Python, но тъй като започвате с по-голяма трудност, когато преминавате от Java на друг език като Python или JavaScript в бъдеще, ще бъде много по-лесно да вземете и да разберете, тъй като сте в затруднение срещу преминаването от Python към Java, което е невероятно по-трудна промяна, тъй като трябва да промените целия си мислен процес.

И така, ако вече сте правили Java, кои са основните контролни точки, за да знаете кога сте готови за още? Как да разберете кога можете да се изравните?

  1. Всички започват от ниво 1. Това е мястото, където научавате за примитиви като ints, double, buoleans, а също и Strings. Можете да отпечатвате текст на екрана, да отпечатвате уравнения, да хвърляте вмъквания към удвоени и обратно, да обединявате низове и числа и просто да се справите с основните взаимодействия. Моят съвет тук, опитайте да създадете Chick-Fill-A или (Въведете име на любимия ресторант тук) Калкулатор, където отпечатате красив екран за поздрави, покажете на клиентите поръчки за съставени стойности и общата сума с данък.
  2. Ниво 2 е мястото, където нещата се забавляват. Тук въвеждаме, ако извлечения, за контури, цикли и въвеждане на скенер от потребителя, за да направи по-сложни, но все пак много прости програми като Magic 8 Ball, която задава 8 въпроса, истински калкулатор за ресторант, който изисква въвеждане от потребителя, просто игра, базирана на текст, която използва контури и вход за отговор на основни въпроси. Това е едно от най-важните нива досега, така че наистина отделете време, за да разберете колко мощни са, ако заявленията и контурите наистина са, защото това са истинските основи на компютърните науки точно там. О, и да не забравяме методите, опитайте се да разберете какви са методите и как да ги използвате, преди да преминете на следващото ниво, това ще направи живота ви много по-лесен.
  3. Мисля, че повечето хора влизат в кодирането, защото някаква част от тях иска да направи следващото голямо приложение, или видео игра, или нещо забавно и интерактивно. Като се има предвид, че нивото на сметка 3 е голямата първа стъпка към тази цел, при която основният показател е създаването на текстова версия на Hangman, сега дори и за онези опитни разработчици там, искам всички да опитат това, без да използват никакви обекти, освен струни, така че това означава, че няма Arrays или ArrayLists или String.split (“”). В този ранен етап на оптимизация или изпълнение на вашия код дори не бива да се мисли. Една от най-големите грешки, които виждам хората е подценяването на силата на струните и колко ценни са те, честно можеш да правиш всичко и всичко с Strings, небето е границата. Бъдете креативни, мислете извън кутията, запишете идеите си на хартия, а не просто код, разчупете всяка стъпка разделена на нещо малко и просто логично, след което се опитайте да я кодирате.
  4. Ако имате толкова далеч, страхотна работа! Погладете себе си по гърба или по-добре все пак скачайте нагоре и надолу, крещяйки от радост, защото единствените оцелели, които са били войници до този момент, наистина сте се справили наистина добре, но пътешествието току-що започна. След Hangman, сега е време да научите за структурите от данни, които Java може да предложи, предимно Arrays, ArrayLists, HashMaps, набори, стекове, опашки, LinkedLists и дървета. Разбира се не всички наведнъж, ниво 4 е само за овладяване на масиви и ArrayLists. Опитайте да направите симулация на малък магазин за хранителни стоки, където можете да въведете различни команди за добавяне или премахване или замяна на артикули от вашата количка.
  5. Сега, когато сте научили магията на списъците с масиви и масиви, върнете се и направете палача много по-добър. Но може би научете първо за комплектите и това може да улесни някои неща.
  6. Научете се да използвате скенери за четене на текстови файлове, след което пребройте колко пъти се появява всяка буква първо, НАЧАЛО: ИЗПОЛЗВАЙТЕ HASH MAP. Разпечатайте номера на всяка буква в голяма книга като Moby Dick или Tales of Two Cities, следете колко време отнема, може да отнеме известно време, но можете да потърсите оптимизации, за да ускорите този процес. Ако кодът ви отнема часове, правите нещо много грешно.
  7. Стекове, опашки, свързани списъци, дървета са всичко, което в крайна сметка ще научите в клас структури на данни, така че не се тревожете твърде много за това, това не е толкова важно за изграждането на забавно приложение. Тук искам да научите за API, да научите за Maven, така че използвате код, който някой друг е написал в собственото си приложение, за да направите нещо смислено. Това също е чудесен момент да спрете и да научите основите на Github, защото ще го използвате до края на живота си. Опитайте да изтеглите някои новини от Reddit или погледнете в JavaFX, за да направите настолни приложения с потребителски интерфейс.
  8. Друго абсолютно нещо, което всеки нов програмист трябва да направи, е да създаде игра. Сега не говоря за нещо като Call of Duty, дори не мисля за 3D. Просто обикновена 2D игра с първо получаване на спрайт за движение по екрана, а след това може би добавяне на някои врагове, които да се движат, стрелба снаряди и в крайна сметка да стигнете до странични скролери и платформи като Zelda, Mario или Pokemon. За да научите как да направите това в Java, сайтът по-долу е абсолютно най-доброто място, мога да ви препоръчам да използвам силно при първото обучение на 2D игри. Те правят много лесно да следват уроци, които покриват основите от земята нагоре. http://zetcode.com/tutorials/javagamestutorial/

Досега натрупахте еквивалентния опит с може би 1-2 години Java в HighSchool или College. Това не е почти достатъчно, но за истинска работа или дори за стаж, ще трябва да знаете как да се свържете с външни системи, как да правите REST API разговори, да работите с потребителски интерфейс на някакво ниво и да четете запис в база данни. Трябва да се гордеете с това къде сте и как сте попаднали тук, но не се самоуверявайте. Сега сте на истинския стартов ред. Като част от крайното ръководство за достигане до върха, бидейки най-добрият софтуерен инженер, естественият прогрес от Java би се научил на разработка на приложения за Android, тъй като Android е написан на Java. Тук можете да използвате основните логически умения, които сте научили, и да ги свържете към потребителски интерфейс, към повече сензори и информация, към интернет наистина и всички възможности, които телефонът може да има в наши дни, светове на вашата стрида.

Това беше само част 1 от моето ръководство за най-доброто, внимавайте за част 2, която ще разгледа подробно как да станете професионален андроид разработчик от започване на проекти и API, с които да работите. В бъдеще може да има или не може да има видео поредица, посветена на задълбочаване на практическите и реалните примери за кодиране от реалния живот от Hangman до Desktop Application, използвайки JavaFX, оставете коментари какво искате да видите и какви интеграции бихте искали Искате да свършите, може би нещо със Spotify?