it-swarm-eu.dev

Co by měl každý programátor vědět o programování?

Prosím --- zůstaňte v technických otázkách, vyhýbejte se chování, kulturním, kariérním nebo politickým otázkám.

52
Maniero
  1. Chyba je v vašem kódu, nikoli kompilátoru nebo runtime knihovnách.

  2. Pokud vidíte chybu, která se nemůže stát, zkontrolujte, zda jste správně sestavili a nasadili program. (Zejména pokud používáte komplikovaný IDE nebo sestavovací rámec, který se před vámi snaží skrýt chaotické podrobnosti ... nebo pokud vaše sestavení zahrnuje spoustu manuálních kroků.)

  3. Souběžné/vícevláknové programy se obtížně zapisují a těžko se testují. Nejlepší je delegovat co nejvíce do souběžných knihoven a rámců.

  4. Psaní dokumentace je součástí vaší práce programátora. Nenechávejte to pro „někoho jiného“.

UPRAVIT

Ano, můj bod č. 1 je nadhodnocený. Dokonce i ty nejlepší inženýrské aplikační platformy mají svůj podíl na chybách a některé z těch méně vyvinutých jsou s nimi hojné. Ale i tak byste vždy měli mít podezření na váš kód nejprve , a začít obviňovat chyby kompilátoru/knihovny, pouze pokud máte jasný důkaz, že váš kód není zaviněn.

V dobách, kdy jsem dělal vývoj C/C++, si pamatuji případy, kdy se předpokládané „chyby“ v optimalizátoru ukázaly jako důsledek toho, že já/nějaký jiný programátor udělal věci, o nichž říká jazyková specifikace, nedefinované výsledky. To platí i pro údajně bezpečné jazyky, jako je Java; např. podrobně si prohlédněte paměťový model Java model paměti (JLS kapitola 17).

92
Stephen C
  • Jak číst kód ostatních lidí.
  • Kód neexistuje, pokud není v systému kontroly verzí zkontrolován.
84
pramodc84

Výpočty s pohyblivou řádovou čárkou nejsou nepřesné .

76
Chinmay Kanchi

Nepřestávejte se učit.

63
systempuntoout

To, co můžete udělat pro zvýšení kvality a údržby vašeho kódu, je ZNÍŽENÍ DUPLIKACE.

44
Chris Holmes

Odstraňování problémů a ladění dovedností

Sotva na toto téma tráví čas v kterémkoli z programovacích kurzů, které jsem absolvoval, a podle mých zkušeností je to jeden z největších určujících faktorů produktivity programátora. Ať se vám to líbí nebo ne, trávíte mnohem více času ve fázi údržby aplikace než v nové vývojové fázi.

Pracoval jsem se soooooo mnoha programátory, kteří ladili náhodnými změnami věcí bez strategie, jak problém vůbec najít. Měl jsem tuhle konverzaci několikrát.

Jiný programátor: Myslím, že bychom se měli pokusit zjistit, jestli to opraví.
Me: Dobře, za předpokladu, že to opraví. Co to říká o tom, kde je zdroj problému?
Jiný programátor: Nevím, ale musíme něco zkusit .

39
JohnFx
  1. Nebuď chytrý; být jasný.
  2. Použijte před opětovným použitím.
  3. Jména záleží.
  4. Funkce dělá 1 věc a dělá to dobře.
  5. Malý je lepší než velký.
37
KevBurnsJr

Základy. V současné době se programátoři učí technologie, nikoli koncepty. Je to špatné.

34
clrod

Každý programátor by měl vědět, že neustále vkládá předpoklady do kódu, např. „toto číslo bude kladné a konečné“, „tento kód se bude moci připojit k serveru po celou dobu mrknutím oka“.

A měl by vědět, že by se měl připravit, až se tyto předpoklady rozbijí.

26

Každý programátor by měl vědět o testování.

19
Tom Duckering

Naučte se koncepty. Můžete Google syntaxi.

17
pramodc84

Kritické a logické myšlení. bez ní nemůžeš dělat nic dobrého.

16
Mladen Prajdic
14
Carlos

Testování jednotky. Je to skvělý způsob, jak kodifikovat vaše předpoklady, jak se má kód použít.

14
btlog
13
Maniero

Znalost domény. Specifikace není nikdy 100%; znát skutečnou doménu, pro kterou vyvíjíte, VŽDY zvýší kvalitu produktu.

13
Steven Evers

To je těžší, než si myslíte.

I když je snadné (ish) dát dohromady něco, co funguje při normálním použití, vyrovnat se s chybným vstupem, všechny případy Edge a rohu, možné režimy selhání atd. Jsou časově náročné a pravděpodobně budou nejtěžší součástí úlohy.

Pak musíte udělat, aby aplikace také vypadala dobře.

13
ChrisF

Ukazatele, samozřejmě. :)

11

Data jsou důležitější než kód.

Pokud jsou vaše data inteligentní, může být kód hloupý.

Hloupý kód je snadno pochopitelný. Stejně tak jsou inteligentní data.

Téměř každý algoritmický zármutek, který jsem kdy zažil, byl způsoben tím, že data byla na nesprávném místě nebo byla zneužita svého skutečného významu. Pokud vaše data mají význam vložte tento význam do systému typ.

11
Gonzales

Code Complete 2 - kryt na krytí

11
Kyle B.

Který jazyk a prostředí je pro danou práci nejvhodnější. A není to vždy vaše nejoblíbenější.

10
Dan Diplo

Rozděl a panuj. Je to obvykle nejlepší způsob, jak vyřešit jakýkoli typ praktického problému od plánování až po ladění.

10
Rick Minerich

Skutečná dovednost se odráží ve schopnosti provést jednoduchý design dobře, nikoli ve schopnosti provést komplikovanou práci na designu vůbec.

Tato dovednost pochází z většího zvládnutí základů, nikoli z ovládnutí tajemných. Vysoce kalibrovaný programátor není definován schopností kódovat to, co ostatní nemohou (pomocí funkcí vyšší úrovně, pokročilého funkčního programování, co máte), ale spíše schopností dokreslit dokonale světské kódování. Volba vhodného rozkladu funkčnosti mezi třídami; budování v robustnosti; pomocí obranných technik programování; a za použití vzorů a jmen, které vedou k větší samodokumentaci, jde o chléb a máslo vysoce kvalitního programování.

Napsání dobrého kódu, ke kterému se můžete vy nebo někdo jiný, vrátit za týden, měsíc nebo rok, a pochopit, jak tento kód používat, upravovat, vylepšovat nebo rozšiřovat, je zásadní. Ušetří vám to čas a duševní úsilí. Mazání kol produktivity odstraněním zátarasů, které byste předtím narazili (možná přerušíte váš myšlenkový směr, nebo si vezmete hodiny nebo dny úsilí od jiné práce atd.) Usnadňuje se soustředit na těžké problémy , a někdy způsobuje, že těžké problémy zmizí.

Jedním slovem: elegance. Každá třída, každá metoda, každá podmínka, každý blok, každý název proměnné: usilujte o eleganci.

8
Wedge

Nikdy neobviňujte uživatele z toho, co by mohlo být stanoveno čistší uživatelskou zkušeností nebo lepší dokumentací. Programátoři často předpokládají, že uživatel je idiot, který nedokáže nic udělat správně, když je problém špatný celkový zážitek nebo nedostatek komunikace. Programy jsou určeny k použití, a zacházet s uživatelem s opovržením je v první řadě zmeškat místo programování.

8
user8

Každý programátor by měl vědět, jak používat debugger, a vědět, jak ho používat dobře.

6
Brian R. Bondy

Jak používat Google

5
bruno077

Datové struktury

5
Maniero

Vyhodnocení zkratu, přestože je to jedna z prvních věcí, které vás naučí o booleovských operátorech.

Uživatelské chyby nejsou; jsou to chyby použitelnosti:

  • Nebezpečná funkčnost by měla být ndoable, nejen varována. Zde se podíváme na rm, které stále nefunguje s odpadkovým košem.
  • Proveďte nejméně škodlivé, pokud uživatel přestane (ESC, Ctrl-C). V ideálním případě by měl být systém ve stejném stavu jako před spuštěním příkazu. rm, znovu.
  • Škodlivé možnosti by měly být daleko od neškodných. Kliknutím pravým tlačítkem myši na soubor v koši GNOME se zobrazí „Smazat trvale“ přímo vedle „Obnovit“ :(

Ne vybírat konkrétně na GNU Nástroje nebo GNOME), ale toto byly nejjednodušší příklady, jak přijít.

4
l0b0

Jak přesně odhadnout, kolik času bude funkce trvat, než se implementuje. Ještě důležitější je, jak sdělit, že při zadávání tohoto odhadu nejste hovadiny.

4
wheaties

Styl kódování záleží:

  • důsledné odsazení,
  • důsledné využívání záležitostí (např. kolem operátorů),
  • důsledné umisťování záležitostí {}
  • na dobře zvolených identifikátorech záleží,
  • atd.

... a dobré designové záležitosti.

V ideálním případě se programátor naučí tyto věci před (nebo během) své první kontroly kódu. V nejhorším případě je programátor naučí, když mu šéf řekne, aby ve spěchu provedl některé netriviální změny nějakého hrozného kódu.

4
Stephen C

Mluvíme-li zde o komerčním softwaru ... Zřejmě se nemusí vztahovat na bezpečnostní systém DOD nebo na kvantitu hedgeových fondů.

  • Soustřeďte se na to, co funguje, ne na to, co je chytré, KISS.
  • Mějte na paměti pravidlo 80/20 a nemusíte trávit veškerý čas snahou potěšit/prodat menšinu.
  • Absolvujte kurz datových struktur/algoritmů.
  • Test, test, test.
  • Nepokračujte v kódu, který je ve výrobě a v současné době funguje. Pokud nemáte nadměrný peněžní tok a žádné nové nápady. Pak je to v pořádku.
  • Drtivá většina vašeho času bude věnována třídění skrz kříž, a neřešení zajímavých programovacích problémů. Pokud nehovoříte, v takovém případě lidé chtějí jen vidět, jak řešíte zajímavé programovací problémy.
3
red-dirt

Že jsou -

1) Další programovací paradigmata mimo OO (orientace na objekt)) 2) Další lepší IDE mimo Visual Studio (toto je zvláště pro programátory, kteří pracovali pouze na Windows a pouze na MS technologiích)

3
Manoj Waikar

Jak počítač opravd funguje, jazykové základy, algoritmy/datové struktury, analýza algoritmů a určitá míra teorie složitosti.

3
Paul Nathan

Nemůžu uvěřit, že to nebylo zmíněno

Každý programátor stojí za to, že sůl musí být schopna produkovat software připravený na světě .

Tím mám na mysli dodržování základních principů internacionalizace, jako je externalizace všech řetězců atd.

Nemohu uvěřit, kolikrát jsem viděl pevně zakódované anglické řetězce nebo dialogy se zkrácenými řetězci atd., Když byl produkt přeložen.

2
Jimmy Collins

Jednotkové testování není stříbrná střela. Stále můžete zavádět chyby, psát špatné testy a neměla by to být jediná forma testů, které děláte.

2
aqwert

Počítače nerozumí sémantice. Předpokládejme, že máte toto:

var ferrari = new Ferrari();
ferrari.DriveTo(Places.Seattle);

K počítači můžete také použít různé názvy typů a použít:

var mxEEcceqs = new safHBBdueWE();
mxEEcceqs.HYBbQAW(n3dNm.pDojeW);

Pojmenování věcí je velmi důležité, ale nedělejte chybu, že počítač ví, co máte na mysli, protože jste pojmenovali svůj typ „Ferrari“ nebo metodu „DriveTo“.

2
xofz

Pořadí provedení.

Byli byste ohromeni, když mluvíte s programátory vs lidmi, kteří nikdy neviděli nebo se nedotkli kódu nebo předstírajících programátorů *, věc, kterou nedostanou, je příkaz k provedení. Pokud potkáte někoho, kdo nedokáže vyzvednout kontrolní struktury, získejte tento nápad jako první v hlavě. Zjistíte, že se poté učí rychleji.

* Ano, ti lidé, kteří jsou schopni získat práci jako programátoři, ale když se jich zeptáte na nejjednodušší technickou otázku, jdou do mozku. Myslím, že jsme se všichni jednoho z nich setkali.

2
Philip

Každý programátor by měl znát „vědu“ v oblasti informatiky (návrhové vzory, algoritmy, objekty atd.), Pokud to dokážete zvládnout, můžete programovat pomocí jakéhokoli jazyka, je to jen otázka zvyknutí si na syntax.

2
JD Frias

Jaké jsou lexing a parsing, jen nejasný přehled je v pořádku. Ještě lepší je seznámení s nejméně jednou strukturou generátoru syntaktického analyzátoru.

Většina z nejstrašnějších WTF, které jsem kdy viděl, jsou vlastní rutiny analýzy lidí. Je hrozné zpočátku kódovat, horší je udržovat.

2
angusgr

Hodnocení.

Programátor by měl vědět, jak se vyhodnocují prohlášení, která píšou. a(line.of(code) is aSequenceOf(evaluations)) a pokud nerozumíte tomu, jak tento řádek vypadá po každém kroku jeho vyhodnocení, budete jako programátor nesmírně omezeni ve své schopnosti využívat jazykové funkce.

Nemluvím jen o základních

if (bool == false):
    return true
else:
    return false

které lze samozřejmě nahradit pouze return !bool.

Hovořím také o schopnosti porozumět vašemu jazyku až do bodu, kdy můžete přijít s něčím podobným:

string[] thingsToOutput;
for(int i = 0; i <= thingsToOutput.Length; print(thingsToOutput[i++]));    

Když jsem poprvé viděl takové tvrzení, trochu mi to vrhlo mysl; nenapadlo mě, že bych mohl využít smyčku for takovým způsobem. Osoba, která toto prohlášení napsala, lépe porozuměla dostupným možnostem - viděli více otevřených dveří než já, což jim dávalo větší svobodu a sílu v jejich schopnosti navrhovat kód.

Nyní, zda je to dobrý kód je problém - zda se některý z těchto dveří měl by otevřít - je to na debatě. Zůstává to s velkou mocí přichází velká zodpovědnost.

2
doppelgreener

To, že znáte odpověď na tuto otázku, vás neznamená, že jste programátor

2
hplbsh

Základy licencování softwar

  • Rozdíl mezi „virovou“ licencí copyleft (GPL) ve srovnání s Apache s uzavřeným zdrojem a nevírusovou MS-PL/MS-RL.

  • Kdy byste měli používat LGPL a kdy ne.

  • Kompatibilita licence. Například můžete propojit moderní knihovnu licencí Apache s kódem GPLv3, ale ne s GPL 1 nebo 2.

  • Pokud vlastníte zdrojový kód jako celek, můžete jej publikovat na základě tolika (nebo několika) licencí, kolik si přejete.

Poznámka pro S.O. komunita:
Prosím, neváhejte a upravte tuto odpověď, jak uznáte za vhodné ... hlavně pro informace, které se nehodí pro níže uvedenou sekci komentářů.

2
goodguys_activate

Kryptografie. Nemusíte být schopni napsat svůj vlastní šifrovací algoritmus, ale musíte mít základní znalosti o tom, jak šifrování, ověřování zpráv a PKI fungují. V této oblasti jsem bojoval příliš dlouho se slepým pokusem a omylem. Nedávno jsem si vzal knihu „Cryptography Engineering“ (autor Ferguson, Schneier, Kohno) a byl to opravdový otvírák očí.

2
Tobias

Než začnete kódovat, znáte svůj operační systém/platformu.

Pokud kódujete Windows/Linux/Android/iOS atd., Začněte učením OS. Pokud zacílíte na něco jiného, ​​jako je web, to samé platí.

1
Amir Rezaei

napište kód pro lidi!

žádné další magické číslo!

nepište celý kód do jednoho řádku!

1
linjunhalida
  1. postavit něco, co lidé chtějí
  2. stavět něco, co chcete používat každý den
  3. pokud svůj komentář nekomentujete, ujistěte se, že je přečten čistě
  4. zadejte svůj kód
1
Michael Ossareh

Neexistuje nic jako chyba, která by se nemohla stát.

1
Rayne

„Ahoj svět“ není kompletní aplikace, protože není prokázáno/programové tvrzení, že výstupem je ve skutečnosti „Ahoj svět“. Kód není úplný, dokud nebyl testován na jednotce.

1
stimpy77

Některé z nich již byly zveřejněny, ale zde je můj seznam:

  • Budujte podle požadavků, nepřidávejte věci, které nepotřebujete, zejména pokud si „myslíte“, že budete. Pokud ji budete potřebovat později, přidejte ji.
  • Jak používat vyhledávání Google. Neobtěžujte svého spolupracovníka, dokud se nedíváte.
  • Nebuď chytrý.
  • Není to hotové, dokud nesplňuje VŠECHNY požadavky, testováno, zdokumentováno a zkontrolováno do SVN.
  • Správné kódovací standardy, např. Konvence pojmenování
1
Tyler Egeto

Naučte se, jak správně nasadit váš kód, testy a softwarový balíček.

Jedním z nejhorších návyků vývojářů, kterého jsem v průmyslu viděl, je obyčejná neznalost toho, jak dát svůj software do rukou jiných lidí, zde jsou některé špatné signály:

Nové vývojové prostředí-itus:

  • Chtěl jsem se naučit Ruby, takže jsme do něj napsali naše věci, zákazník a hlavní sestavení si budou muset vyzvednout prostředí Ruby prostředí)

Version-itus:

  • Náš tým se přestěhoval do kompilátoru verze X + 1, protože je to nejnovější, neřekli jsme to někomu?
  • Potřebujeme verzi knihovny Y, oh, vaše věci s tím nefungují?
  • Testovali jsme na opravdu staré verzi, nefunguje to s nejnovější verzí?
  • Prolomili jsme speciální verzi jádra, abychom uvolnili verzi

Binární pouze itus:

  • Naše prostředí pro vytváření je opravdu komplikované, pouze vám dáme binární soubory

Vícejádrový itus:

  • Zakažte SMP, naše věci fungují pouze v jednoprocesorovém prostředí

Pevně ​​kódovaný-feature-itus:

  • Chcete-li povolit funkci X, odkomentujte tento #define, co tím myslíte, že chcete za běhu?
1
tonylo

Jednoduchost, jasnost, obecnost. http://www.math.harvard.edu/computing/programming/rules.html

  • stavět systémy jako sítě jednoduchých procesů spojených sokety/potrubí
  • výměna dat v jednoduchém textovém formátu: sady záznamů dvojic "klíč: hodnota" nebo TSV

„Nejúčinnějším nástrojem pro ladění je stále pečlivé myšlení spojené s uvážlivě umístěnými tiskovými prohlášeními.“ BWK

1
user2137

Čím více víte o tom, jak zabezpečení na vybrané platformě funguje, tím lépe.

1
Ripped Off

Použijte správný nástroj pro danou úlohu.

Programátor je důležitým prvkem a jazyk a nástroje by měly být vybírány na základě problému. Nebojte se nových jazyků a projektů.

1
Jonathan Hendler
1
Daniel Grillo

Neexistuje žádný pláč v programování!

1
Billy Coover
  1. důkladné porozumění koncepcím nadace, např. datové typy, rozhraní
  2. střední až vysoké úrovni porozumění nástroji, který používají např. specifické znalosti .net/Java
  3. rozumnou představu o „dalších technologiích, se kterými vaše zařízení komunikuje“, např. jak databáze fungují
  4. zhruba tam, kam směřuje jejich technologická základna např. co je cloud computing a jaký to bude mít dopad na jejich současnou sadu dovedností
1
adolf garlic

Jak napsat program FizzBuzz.

1
CtrlDot

Když musíte distribuovat aplikaci nebo uvést web do výroby mimo hranice vaší společnosti, vše, o čem jste si mysleli, že na tom nezáleží.

1
JeffO

Kód je krásný pouze tehdy, pokud dělá to, co má dělat.

1
sambeau
  • Binární se základním porozuměním podepsaným a nepodepsaným.
  • Pochopte, jak funguje jakýkoli poziční číselný systém.
  • Pochopte, jak jsou základní datové struktury ukládány do paměti.
1

Oprava kódu vyžaduje více inteligence než psaní stejného kódu zpočátku.

Pokud tedy píšete kód na hranici své chytrosti, pak podle definice nejste dost chytří, abyste jej mohli opravit, když se rozbije.

1
Adam Bachman

Nejprve napište své datové struktury - to znamená vše od databázových schémat po mechanismy swizzling/serializace.

Většina projektů se týká ukládání a přesouvání dat z bodu A do bodu B ve formátu C.

Až bude vše řečeno a hotovo, asi 90% kódu bude logické pro formátování, ale skutečný vrah má pouze formát pro přístup a zápis dat. Jakmile budete mít API pro přístup k datům, můžete si hrát s formátováním, jak chcete, ale jakmile začnete s produkcí API pro ukládání dat, může to opravdu bolet, když si uvědomíte, že jste to zkusili.

1
user2040

V 5 základních otázkách týkajících se telefonních obrazovek Steve Yegge se snaží zajistit, aby dotazovaní měli základní znalosti:

  1. Kódování. Kandidát musí napsat jednoduchý kód se správnou syntaxí v jazyce C, C++ nebo Java.
  2. OO design. Kandidát musí definovat základní OO koncepty) a přijít s třídami, aby vytvořil jednoduchý problém.
  3. Skriptování a regexy. Kandidát musí popsat, jak najít telefonní čísla na 50 000 HTML stránkách.
  4. Datové struktury. Kandidát musí prokázat základní znalosti nejběžnějších datových struktur.
  5. Bity a bajty. Kandidát musí odpovídat na jednoduché otázky týkající se bitů, bajtů a binárních čísel.

http://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions

V době, kdy psal toto, byl v Amazonu, ale nyní pracuje (a pravděpodobně vede rozhovory) na Googlu. Tím se dostanete přes obrazovku. Zde je popis toho, co hledal:

to, co hledám, je úplné vakuum v jedné z těchto oblastí. Je to v pořádku, pokud trochu bojují a pak to přijdou. Je to v pořádku, pokud potřebují drobné rady nebo výzvy. Nevadí mi, jestli jsou rezavé nebo pomalé. To, co hledáte, jsou kandidáti, kteří jsou o dané oblasti naprosto bezradní nebo strašně zmatení.

1
Lou Franco

Dokumentace je velmi důležitá. Více, pokud stavíte něco od nuly. Pomáhá dokumentovat vaše nápady před zápisem jakéhokoli kódu.

To jsem se naučil tvrdě.

1
Pablo

Zatím nemůžu komentovat, ale na téma „Testovací a ladicí dovednosti“, tento malý drahokam od Neda Batcheldera je nutné číst. (Pak získejte, hodně z toho, co musí říci o ladění a tvrzeních, je třeba vzít v úvahu.)

0
Stan Rogers

Každý programátor by měl vědět, že jediná věc, kterou ví, je to, že nic neví. Je toho co se naučit.

0
sharjeel

Každý programátor by měl svázat akce FindNextSelected a FindPreviousSelected (vizuální studio) s klávesami klávesnice (nejlépe F4 a F2). Z toho dostanete dvě věci:

  1. Rychlejší způsob procházení mezi různými body použití proměnné/funkce/podřetězce (rychleji než s „Najít všechny reference“)
  2. Možnost šířit věci uvnitř jednoho dokumentu. Skokem zpět a vpřed při hledání některých podřetězců můžete vidět rozdíly mezi různými místy. Není třeba používat Winmerge, když potřebujete porovnat části stejného dokumentu.
0
AareP

Znát základní syntaxi regulárního výrazu včetně podmíněného seskupení. Vyhýbejte se používání doplňků příkazů regexu specifických pro knihovnu nebo alespoň přidávejte komentáře/faktorujte tyto části.

0
Bob Dobelina

Jak to udělat.

... Co tím myslíš, že potřebuji 15 znaků?

0
Randall Schulz

Program s ohledem na údržbu.

0
Jesse

Regulární výrazy THE Book about regular expressions

Nemohu říci, kolikrát převedla jednoduchá regulární výrazy data, která si lidé mysleli, že by manipulaci trvalo několik dní. Musí být přítomen v každé sadě nástrojů pro programátory.

Jistě, nemůžeme zapomenout na xkcd: Wait, forgot to escape a space. Wheeeeee—taptaptap—eeeeee.

0
neves

Každý programátor by měl vědět, jak procesor pracuje.

0
Brian Makin

Být Mistr z Něco, ale být Aware z Všechno !!!!

0
user11020

Zde jsou některé velmi dobré návrhy, ale jsem překvapen, že nikdo neuvedl vynikající řadu článků Ulricha Dreppera: Co by měl každý programátor vědět o paměti .

0
Mansur

Všechny problémy v informatice lze vyřešit jinou úrovní indirection.

0
FreeMemory

Navrhněte svůj kód a pokud váš manažer chce použít přístup ve stylu RAD styl přístupu, zkuste získat co nejvíce podrobností. Poté, když je přidána další funkčnost, zkuste přemýšlet, zda lze existující kód přepsat dříve) jen hromadí více kódu a skončíte s výškou namísto domu.

0
Luke Tongs

každý programátor by měl mít pevné základy v softwarovém inženýrství a také koncepcích systémové analýzy/návrhu a informačních systémů. tímto způsobem, pokud jsou vyzváni, aby významně přispěli k analýze systémů/designu a/nebo informační architektuře, budou v pozici znalostí + opionionu. Normálně se zdá, že je to jen osobní názor, který obvykle jednoduše vychází z osobních preferencí místo toho nejlepšího řešení problému. softwarové inženýrství je o něco těžší měřit, ale potřebné znalosti jsou k dispozici tam, a na vhodných univerzitních studijních kurzech, kde se učí více než jen jak dláždit trochu kódu dohromady. každopádně to nemá být negativní, protože hlavním duchem je pouze zlepšení, ale pak jsem pracoval s některými lidmi, kteří nemají žádné znalosti IT, nebo existuje jediný smýšlející „skriptový kiddies“, který kód a re-kód (a pouze v jejich jazyk volby) a každý problém vidí pouze jako opakování dříve aplikovaných řešení (tímto kodérem.), takže bych mnohem raději, kdyby se programátoři více soustředili na větší obrázek z hlediska softwarového inženýrství (SSADM) a dívali se na problémy jako příležitosti udělat pro klienta lépe.

0
chris

Nejprve spusťte kód nebo logiku v hlavě nebo papíru. Nepoužívejte Rush, abyste zasáhli kompilaci a spusťte příkaz, abyste to vyzkoušeli.

0
Aditya Kothadiya

Opravdu to stojí v několika písmenech:

Dobře, zjednodušuji to, ale v zásadě, pokud jste docela autodidact, nikdy se nepřestávejte učit a jste trochu perfekcionista, měli byste mít základ pro to, abyste se stali dobrým programátorem.

Cokoli jiného by bylo konkrétnější pro konkrétní role a technologie.

0
haylem

Pokud se něco může pokazit, pak to bude. Předpokládej nejhorší případ

0
Adham Saad

Nezapomeňte na osobu, která bude používat vytvořený software.

0
Dan Goldstein

Uvědomte si, že všechno, co se může pokazit, se pokazí. Trávit velmi málo času psaním kódu - ale rozpoznávat a znovu používat běžné vzorce. Refaktorový kód neustále dosahuje ideálního designu.

0
zkarthik

Všechna data musí někde žít. Najdete ji, pokud vypadáte dostatečně tvrdě.

0
Jonathan

Potřebují vědět o síle uzavření a začít je používat.

0
nickik

Hexadecimální zápis. Také bitová pole - ANDing, ORing (včetně a exkluzivní), doplňující (1 a 2), bitové řazení.

0
tcrosley

Moje první hlasování by bylo pro pojmenování kongresů.

0
Gopi

Když vás někdo požádá, abyste něco postavili, pamatujte: také vás žádají, abyste to udržovali. Možná navždy.

0
Yevgeniy Brikman

Ať už dělají cokoli programy, jsou to nejenom jednoznačné způsoby, jak ukázat ostatním lidem, jak dělat práci, než říct stroji, jak dělat práci.

0
vpit3833