Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 8677|Antwoord: 0

Waarom kun je niet zonder Stackoverflow?

[Link kopiëren]
Geplaatst op 04-10-2016 09:30:55 | | | |
Als programmeur, als je nog nooit van Stackoverflow hebt gehoord, kun je er beter over nadenken. Een van de programmeerboeken die programmeurs het meest moeten lezen (sterker nog, het is genoeg om dit boek voor programmeerboeken te bewaren!). ):

(De homepage die Jun sterk heeft toegevoegd, de bovenstaande foto is een parodiefoto, sommige internetgebruikers begrepen dit eerder niet, vooral niet om het te zeggen)
Voor die programmeurs die het boek nog niet hebben gelezen, is het tijd om er een te kopen. Als je nog twijfelt, bekijk dan dit artikel om te zien waarom je niet zonder StackOverflow kunt.
De wijsheid van het stellen van vragen
Wanneer je een technische vraag stelt, hangt het vaak af van hoe je stelt en opvolgt of je uiteindelijk een nuttig antwoord krijgt. —— Eric S. Raymond
Soms is een duidelijke beschrijving van een probleem, vooral een technische, niet zo eenvoudig als het lijkt. Vragen stellen is altijd een wetenschap geweest, maar helaas beseffen veel mensen het niet of besteden ze er niet genoeg aandacht aan. Of sommige vragenstellers vragen helemaal niet om hulp. Dus we zullen allerlei vragen vinden die mensen niet kunnen beantwoorden of niet willen beantwoorden:
Java regex-probleem?
Wat is de responstijd van de SLA?
Wat is het verschil tussen ATL-klassen en algemene klassenerfenis?
Om te voorkomen dat het bovenstaande probleem wordt opgelost of aangepast, plaats hier een foto om dit rotprobleem te ervaren:

Je kunt een hoop van deze vragen vinden in de onbeantwoorde vragen op SegmentFault, dus veel mensen hebben duidelijk niet de wijsheid of houding om vragen te stellen. Raymond en Rick Moen schreven een klassiek essay over hoe je vragen kunt stellen, The Smart Way (http://www.catb.org/~esr/faqs/smart-questions.html#translations), dat in verschillende talen is vertaald, breed verspreid is en hier in de Chinese editie te vinden is. Stackoverflow en Segmentfalut hebben ook suggesties voor het stellen van vragen:
Helpcenter > Vragen
Hoe vraag je het
Hoe stel ik een goede vraag?
Wat voor soort vragen zijn welkom
Er zijn te veel klassieke vragen op Stackoverflow, en we kunnen leren hoe we vragen stellen en communiceren met antwoorders. Als je gewend raakt aan het lezen van vragen op Stackoverflow, zul je ze onbewust imiteren bij het stellen van vragen, waardoor je hersenloze vragen vermijdt. Hier zijn enkele van de belangrijkste vragen om op te letten bij het stellen van vragen:
Stel een vraag waar de zoekmachine geen bevredigend antwoord op heeft (Google is minstens vier pagina's oud).
Stel vragen die je zelf niet kunt oplossen en die je al vaak hebt geprobeerd
Probeer het probleem zo duidelijk mogelijk te beschrijven: goede typografie, code, foutmeldingen, afbeeldingen, enzovoort
Maak je vragen nuttig voor anderen
Er moet een duidelijk antwoord op de vraag zijn, en er mag niet te veel subjectiviteit zijn
Verschillende schema's
Vaak hopen we een oplossing te vinden, maar bij Stackoverflow zijn er vaak onverwachte vooruitgang. Je kunt verschillende oplossingen voor een probleem zien, inclusief zelfs vergelijkingen van die oplossingen.
Stel dat je nu wilt weten hoe je een extern commando in Python aanroept, zoals ls -l, om een artikel uit te drukken onder een directory. Google het python call system-commando, en de eerste is een gerelateerde vraag over stackoverflow: Een extern commando aanroepen in Python. (http://stackoverflow.com/questio ... l-command-in-python) (Google technische problemen, eigenlijk stackoverflow-gerelateerde problemen, worden weergegeven).
Dan vat iemand onder deze vraag verschillende manieren samen om externe commando's op te roepen:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
En elke methode wordt ook geïntroduceerd; je kunt de methode kiezen die bij jouw toepassingssituatie past. Een ander voorbeeld is de vraag: Hoe controleer je of er een bestand bestaat met Python? (http://stackoverflow.com/questio ... exists-using-python), wat verschillende methoden in Python beschrijft om te controleren op de aanwezigheid van een bestand.
Gebruik van gereedschappen
Er zijn veel krachtige tools die ons kunnen helpen problemen beter te bestuderen; misschien ken je de GDB-debuggingtool, misschien de timeit monitoring-module van Python, maar je kent de tools die je niet kent. Vaak, als we een hulpmiddel voor het eerst kennen, hebben we het gevoel dat we te laat ontmoeten. De tools die je leuk vindt zijn echter altijd zo moeilijk te vinden.
Op Stackoverflow kunnen er goede tools in elke vraag, elk antwoord of commentaar zitten, en je hebt altijd de kans om de beste te vinden die achter de lijnen blijven.
Hier is een lijst van enkele van de geweldige tools die ik heb gevonden:
Truss/Strace: Volgt systeemoproepen en ontvangen signalen wanneer een proces wordt uitgevoerd; Strace kan systeemaanroepen die door een proces worden gegenereerd volgen, inclusief parameters, retourwaarden en uitvoeringstijd. (Uit de vraag: Waarom is het lezen van regels uit STDIN veel trager in C++ dan in Python?)
vprof: Een visueel hulpmiddel dat de kenmerken van Python-programma's analyseert, zoals runtime, geheugengebruik, enzovoort. (Uit de vraag: Hoe kun je een Python profileren?)
Regex 101: Een online assistent voor reguliere expressies die je kan helpen de betekenis van reguliere expressies te begrijpen, reguliere expressies te debuggen en eenvoudige experimenten uit te voeren. (Uit Issue: Regelmatige expressies leren)
Hier is een eenvoudig voorbeeld van Regex 101:

Het denkproces
Vaak, wanneer we een probleem tegenkomen, hebben we geen manier om te beginnen en weten we niet welke richting we moeten denken. Maar met stackoverflow kunnen we gemakkelijk de specifieke oplossing vinden, en soms zelfs weten wat anderen denken als ze met dit probleem worden geconfronteerd.
Stel dat je een decorator wilt gebruiken om een taak uit te voeren door vóór en na de string toe te voegen die door de say-functie hieronder wordt teruggegeven, en je denkt na over say definiëren als volgt.
@makebold
@makeitalic
def say():
terug"Hallo"
Elke oproep om te zeggen brengt Hallo terug. Maar hoe je makebold en makeitalic toepast is een probleem. Op Stackoverflow zijn er grote bulls die je het antwoord direct vertellen en je een link naar de documentatie van de decorateurs sturen. Maar er zijn ook Daniels die je in detail vertellen over hun denkproces en hun begrip van decorateurs, zodat je het decorateursmechanisme diepgaand kunt begrijpen.
Als antwoord op bovenstaande vraag is er een antwoord dat meer dan 3.000 likes heeft gekregen, waarin wordt verteld hoe je het probleem stap voor stap kunt oplossen. Vertel ons allereerst wat de kenmerken zijn van functies in Python:
Functies zijn objecten
Een functie kan aan een variabele worden toegewezen
Een functie kan in een andere functie worden gedefinieerd
De ene functie kan een andere functie teruggeven
Je kunt functies als parameters doorgeven
Begin dan met uitleggen wat een decorator is: het is eigenlijk een encapsulator, waarmee we andere code kunnen uitvoeren vóór en na het uitvoeren van de originele functie zonder deze aan te passen. Een eenvoudig decorateurprototype wordt met de hand geïmplementeerd, gevolgd door de introductie van decoratorsyntaxis in Python. Ten slotte worden enkele geavanceerde toepassingen van decorateurs genoemd, waaronder het doorgeven van parameters aan decorateurs. Lees het hele antwoord, je krijgt zeker een dieper begrip van de decorateur en kent het denkproces van het begrijpen van de decorateur. Op deze manier kun je, door deze gedachtegang te volgen, zelf afleiden hoe je de decorateurs moet gebruiken.
Mogelijke dode vlekken
Als je geen vragen hebt, kun je ook af en toe naar stackoverflow gaan, wat vragen bekijken met meer stemmen, en zien wat anderen hebben beantwoord. In deze enorme kennisbasis zul je waarschijnlijk enkele van je cognitieve blinde vlekken vinden en content ontdekken waar je nooit op hebt gelet.
Ik vond een paar interessante vragen, zoals:
Printen in de terminal met kleuren met Python?
Wat is een metaclass in Python?
Wat is jouw meest productieve snelkoppeling met Vim?
Ik heb hier een lijst samengesteld met hoogwaardige Python-vragen voor frequente referentie.
Ik betreur het dat we elkaar te laat ontmoetten
Dus hoe vind je StackOverflow, twee suggesties:
Beschrijf het probleem precies in het Engels
Google het
Zolang je niet de eerste bent die een technisch probleem tegenkomt, zul je waarschijnlijk hetzelfde of een vergelijkbaar probleem vinden op StackOverflow. Ontmoet snel, word vroeg verliefd op Stackoverflow, en je zult merken dat het leven zo comfortabel is.





Vorig:Windows batch connection VPN wijzigt de routeringstabel
Volgend:node.js modulaire interface
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com