Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 8677|Svar: 0

Varför klarar du dig inte utan Stackoverflow?

[Kopiera länk]
Publicerad på 2016-10-04 09:30:55 | | | |
Som programmerare, om du inte har hört talas om Stackoverflow, bör du fundera på det. En av programmeringsböckerna som programmerare behöver läsa mest (faktiskt räcker det att den här är för programmeringsböcker!). ):

(Startsidan som Jun starkt infogade, bilden ovan är en parodibild, vissa nätanvändare förstod inte detta tidigare, särskilt inte för att säga det)
För de programmerare som ännu inte har läst boken är det dags att köpa en. Om du fortfarande är osäker, ta en titt på den här artikeln för att se varför du inte klarar dig utan StackOverflow.
Visdomen i att ställa frågor
När du ställer en teknisk fråga beror det ofta på hur du ställer och följer upp om du får ett användbart svar. —— Eric S. Raymond
Ibland är en tydlig beskrivning av ett problem, särskilt en teknisk, inte så enkel som den verkar. Att ställa frågor har alltid varit en vetenskap, men tyvärr inser många det inte eller bryr sig inte tillräckligt om det. Eller så ber vissa frågeställare inte alls om hjälp. Så vi kommer att hitta alla möjliga frågor som folk inte kan svara på eller inte vill besvara:
Problem med Java regex?
Vad är SLA:s svarstid?
Vad är skillnaden mellan ATL-klasser och allmän klassarv?
För att undvika att ovanstående problem löses eller ändras, sätt en bild här för att uppleva detta skitproblem:

Du kan hitta en massa av dessa frågor bland de obesvarade frågorna på SegmentFault, så många har uppenbarligen inte visdom eller attityd att ställa frågor. Raymond och Rick Moen skrev en klassisk essä om hur man ställer frågor, The Smart Way (http://www.catb.org/~esr/faqs/smart-questions.html#translations), som har översatts till flera språk och är allmänt spridd och kan hittas i kinesisk utgåva här. Stackoverflow och Segmentfalut har också förslag på frågor som ställer frågor:
Hjälpcenter > frågar
Hur man frågar
Hur ställer jag en bra fråga?
Vilka typer av frågor är välkomna
Det finns för många klassiska frågor på Stackoverflow, och vi kan lära oss att ställa frågor och kommunicera med svararna. När du vänjer dig vid att läsa frågor på stackoverflow kommer du omedvetet att imitera dem när du ställer frågor, och undviker därmed att ställa hjärndöda frågor. Här är några av de viktigaste frågorna att vara uppmärksam på när du ställer frågor:
Ställ en fråga som sökmotorn inte har ett tillfredsställande svar på (Google är minst fyra sidor gammalt).
Ställ frågor som du inte kan lösa själv och som du har försökt många gånger
Försök att beskriva problemet så tydligt som möjligt: bra typografi, kod, felmeddelanden, bilder osv
Gör dina frågor hjälpsamma för andra
Det bör finnas ett tydligt svar på frågan, och det ska inte finnas för mycket subjektivitet
Olika scheman
Många gånger hoppas vi hitta en lösning, men på Stackoverflow finns det ofta oväntade vinster. Du kan se olika lösningar på ett problem, inklusive jämförelser av dessa lösningar.
Anta att du nu vill veta hur man anropar ett externt kommando i Python, som ls -l, för att skriva ut en artikel under en katalog. Googla python-anropssystemkommandot, och det första är en relaterad fråga om stackoverflow: Anropa ett externt kommando i Python. (http://stackoverflow.com/questio ... l-command-in-python) (Googles tekniska problem, i princip stackoverflow-relaterade problem, kommer att visas).
Under denna fråga sammanfattar någon flera sätt att anropa externa kommandon:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
Och varje metod introduceras också, du kan välja den metod som passar din applikationssituation. Ett annat exempel är frågan: Hur kontrollerar man om en fil finns med Python? (http://stackoverflow.com/questio ... exists-useing-python), som beskriver olika metoder i Python för att kontrollera om en fil finns.
Användning av verktyg
Det finns många kraftfulla verktyg som kan hjälpa oss att bättre studera problem, du kanske känner till GDB:s felsökningsverktyg, du kanske känner till timeit-övervakningsmodulen i Python, men du känner inte till verktygen du inte kan. Många gånger, när vi först känner till ett verktyg, får vi känslan av att mötas för sent. Men de verktyg du gillar är alltid så svåra att få tag på.
På Stackoverflow kan det finnas bra verktyg i varje fråga eller kommentar, och du har alltid en chans att hitta de bästa som lämnas bakom linjerna.
Här är en lista över några av de fantastiska verktyg jag hittade:
Truss/Strace: Spårar systemanrop och mottagna signaler när en process körs, kan Strace spåra systemanrop som genereras av en process, inklusive parametrar, returvärden och exekveringstid. (Från frågan: Varför är det mycket långsammare att läsa repliker från Stdin i C++ än i Python?)
vprof: Ett visuellt verktyg som analyserar egenskaperna hos Python-program, såsom körtid, minnesanvändning med mera. (Från frågan: Hur kan man profilera en Python?)
Regex 101: En online-assistent för reguljära uttryck som kan hjälpa dig att förstå betydelsen av reguljära uttryck, felsöka reguljära uttryck och göra enkla experiment. (Från nummer: Lära sig reguljära uttryck)
Här är ett enkelt exempel på Regex 101:

Tankeprocessen
Många gånger, när vi stöter på ett problem, har vi inget sätt att börja och vet inte åt vilket håll vi ska tänka. Men med stackoverflow kan vi enkelt hitta den specifika lösningen, och ibland till och med veta vad andra tycker när de ställs inför detta problem.
Låt oss säga att du vill använda en dekoratör för att utföra en uppgift genom att lägga till före och efter strängen som returneras av say-funktionen nedan, och du tänker på att definiera say så här.
@makebold
@makeitalic
definiera säg():
återvänder"Hej"
Varje samtal för att säga hej återvänder. Men hur man implementerar makebold och makeitalic är ett problem. På Stackoverflow finns det stora tjejer som ger dig svaret direkt och skickar en länk till dekoratörernas dokumentation. Men det finns också Daniels som berättar i detalj om sin tankegång och sin förståelse av dekoratörer, så att du kan förstå dekoratörens mekanism på djupet.
Som svar på ovanstående fråga finns det ett svar som fått mer än 3 000 likes, där det berättar hur du löser problemet steg för steg. Först och främst, berätta vilka funktioner som kännetecknas i Python:
Funktioner är objekt
En funktion kan tilldelas en variabel
En funktion kan definieras i en annan funktion
En funktion kan returnera en annan funktion
Du kan skicka funktioner som parametrar
Börja sedan förklara vad en dekorator är: det är faktiskt en kapsel, vilket gör att vi kan köra annan kod före och efter att den ursprungliga funktionen körs utan att ändra den. En enkel prototyp för dekoratören implementeras för hand, följt av introduktionen av dekoratorsyntax i Python. Slutligen listas några avancerade användningar av dekoratörer, inklusive att överlämna parametrar till dekoratörer. Läs hela svaret, du kommer definitivt att få en djupare förståelse för dekoratören och förstå tankeprocessen kring att förstå dekoratören. På så sätt, genom att följa denna tankegång, kan du själv dra slutsatser om hur du använder dekoratörerna.
Möjliga döda vinklar
När du inte har några frågor att ställa kan du också besöka stackoverflow då och då, bläddra bland några frågor med fler röster och se vad andra har svarat på. I denna omfattande kunskapsbas kommer du troligen att hitta några av dina kognitiva blinda fläckar och upptäcka innehåll som du aldrig har uppmärksammat.
Jag hittade några intressanta frågor, såsom:
Skriva ut i terminal med färger med Python?
Vad är en metaklass i Python?
Vilken är din mest produktiva genväg med Vim?
Jag har satt ihop en lista med högkvalitativa Python-frågor här för frekvent referens.
Jag ångrar att vi möttes för sent
Så hur hittar man StackOverflow, två förslag:
Beskriv problemet exakt på engelska
Googla det
Så länge du inte är den första som stöter på ett tekniskt problem kommer du troligen att hitta samma eller liknande problem på StackOverflow. Träffas snart, bli förälskad i Stackoverflow tidigt, och du kommer att upptäcka att livet är så bekvämt.





Föregående:Windows batchanslutningsVPN modifierar routningstabellen
Nästa:node.js modulärt gränssnitt
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com