內(nèi)容新生-課舊how to ask questions the smart者_第1頁
內(nèi)容新生-課舊how to ask questions the smart者_第2頁
內(nèi)容新生-課舊how to ask questions the smart者_第3頁
內(nèi)容新生-課舊how to ask questions the smart者_第4頁
內(nèi)容新生-課舊how to ask questions the smart者_第5頁
免費預覽已結(jié)束,剩余25頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

HowtoAskQuestionstheSmartWay題目:《HowtoAskQuestionstheSmartWay》時間:2016年7月2日20:00地點:新生大學AppJohn。《HowtoAskQuestionstheSmartWay》byEricStevenRaymond。IntroductionIntheworldofhackers,thekindofanswersyougettoyourtechnicalquestionsdependsasmuchonthewayyouaskthequestionsasonthedifficultyofdevelotheanswer.Thisguidewillteachyouhowtoaskquestionsinawaymorelikelytogetyouasatisfactoryanswer.Nowthatuseofopensourcehas ewidespread,youcanoftengetasgoodanswersfromother,moreexperiencedusersasfromhackers.ThisisaGoodThing;userstendtobejustalittlebitmoretolerantofthekindoffailuresnewbiesoftenhave.Still,treatingexperienceduserslikehackersinthewayswe mendherewillgenerallybethemosteffectivewaytogetusefulanswersoutofthem,Thethingtounderstandisthathackersactuallylikehardproblemsandgood,thought-provokingquestionsaboutthem.Ifwedidn't,wewouldn'tbehere.Ifyougiveusaninterestingquestiontochewonwe'llbegratefultoyou;goodquestionsareastimulusandagift.Goodquestionshelpusdevelopourunderstanding,andoftenrevealproblemswemightnothavenoticedorthoughtaboutotherwise.Amonghackers,“Goodquestion!”isastrongandsincereDespitethis,hackershaveareputationformeetingsimplequestionswithwhatlookslikehostilityorarrogance.Itsometimeslookslikewe'rereflexivelyrudetonewbiesandtheignorant.Butthisisn'treallyWhatweare,unapologetically,ishostiletopeoplewhoseemtobeunwillingtothinkortodotheirownbeforeaskingquestions.Peoplelikethataretimesinks—theytakewithoutgivingback,andtheywastetimewecouldhavespentonanotherquestionmoreinterestingandanothermoreworthyofananswer.Wecallpeoplelikethis“l(fā)osers”(andforhistoricalreasonswesometimesspellit“l(fā)users”).Werealizethattherearemanypeoplewhojustwanttousethesoftwarewewrite,andwhohavenointerestinlearningtechnicaldetails.Formostpeople,acomputerismerelyatool,ameanstoanend;theyhavemoreimportantthingstodoandlivestolive.Weacknowledgethat,anddon'texpecteveryonetotakeaninterestinthetechnicalmattersthatfascinateus.Nevertheless,ourstyleofansweringquestionsistunedforpeoplewhodotakesuchaninterestandarewillingtobeactiveparticipantsinproblem-solving.That'snotgoingtochange.Norshouldit;ifitdid,wewould elesseffectiveatthethingswedobest.We're(largely)volunteers.Wetaketimeoutofbusylivestoanswerquestions,andattimeswe'reoverwhelmedwiththem.Sowefilterruthlessly.Inparticular,wethrowawayquestionsfrompeoplewhoappeartobelosersinordertospendourquestion-answeringtimemoreefficiently,onwinners.Ifyoufindthisattitudeobnoxious,condescending,orarrogant,checkyourassumptions.We'renotaskingyoutogenuflecttous—infact,mostofuswouldlovenothingmorethantodealwithyouasanequal eyouintoourculture,ifyouputintheeffortrequiredtomakethatpossible.Butit'ssimplynotefficientforustotrytohelppeoplewhoarenotwillingtohelpthemselves.It'sOKtobeignorant;it'snotOKtoplaystupid.So,whileitisn'tnecessarytoalreadybetechnicallycompetenttogetattentionfromus,itisnecessarytodemonstratethekindofattitudethatleadstocompetence—alert,thoughtful,observant,willingtobeanactivepartnerindeveloasolution.Ifyoucan'tlivewiththissortofdiscrimination,wesuggestyoupaysomebodyforacommercialsupportcontractinsteadofaskinghackersto donatehelptoyou.Ifyoudecidetocometousforhelp,youdon'twanttobeoneofthelosers.Youdon'twanttoseemlikeone,either.Thebestwaytogetarapidandresponsiveansweristoaskitlike rsonwithsmarts,confidence,andclueswhojusthappenstoneedhelpononeparticularproblem.(Improvementstothisguideare e.Youcanmailsuggestions orrespond-a .Notehoweverthatthisisnotintendedtobeageneralguidetonetiquette,andwewillgenerallyrejectsuggestionsthatarenotspecificallyrelatedtoelicitingusefulanswersinatechnicalforum.)BeforeYouAskBeforeaskingatechnicalquestionby,orinanewsgroup,oronawebsitechatboard,dothefollowing:Trytofindananswerbysearchingthearchivesoftheforumormailinglistyouplantopostto.TrytofindananswerbysearchingtheTrytofindananswerbyreadingtheTrytofindananswerbyreadingaTrytofindananswerbyinspectionorTrytofindananswerbyaskingaskilledIfyou'reaprogrammer,trytofindananswerbyreadingthesourcecode.Whenyouaskyourquestion,displaythefactthatyouhavedonethesethings;thiswillhelpestablishthatyou'renotbeingalazyspongeandwastingpeople'stime.Betteryet,displaywhatyouhavelearnedfromngthesethings.Welikeansweringquestionsforpeoplewhohavedemonstratedtheycanlearnfromtheanswers.Usetacticslikenga searchonthetextofwhatevererrormessageyouget(searching groupsaswellasWges).Thismightwelltakeyoustraighttofixationoramailinglistthreadansweringyourquestion.Evenifitdoesn't,saying“Idonthefollowingphrasebutdidn'tgetanythingthatlookedpromising”isagoodthingtonornewspostingsrequestinghelp,ifonlybecauseitrecordswhatsearcheswon'thelp.Itwillalsohelptodirectotherpeoplewithsimilarproblemstoyourthreadbylinkingthesearchtermstowhatwillhopefullybeyourproblemandresolutionthread.Takeyourtime.DonotexpecttobeabletosolveacomplicatedproblemwithafewsecondsofGoogling.ReadandunderstandtheFAQs,sitback,relaxandgivetheproblemsomethoughtbeforeapproachingexperts.Trustus,theywillbeabletolfromyourquestionshowmuchreadingandthinkingyoudid,andwillbemorewillingtohelpifyoucomeprepared.Don'tinstantlyfireyourwholearsenalofquestionsjustbecauseyoursearchturnedupnoanswers(ortoomany).Prepareyourquestion.Thinkitthrough.Hasty-soundingquestionsgethastyanswers,ornoneatall.Themoreyoudotodemonstratethathavingputthoughtandeffortintosolvingyourproblembeforeseekinghelp,themorelikelyyouaretoactuallygethelp.Bewareofaskingthewrongquestion.Ifyouaskonethatisbasedonfaultyassumptions,J.RandomHackerisquiikelytoreplywithauselesslyliteralanswerwhilethinking“Stupidquestion...”,andhotheexperienceofgettingwhatyouaskedforratherthanwhatyouneededwillteachyoualesson.Neverassumeyouareentitledtoananswer.Youarenot;youaren't,afterall,payingfortheservice.Youwillearnananswer,ifyouearnit,byaskingasubstantial,interesting,andthought-provokingquestion—onethatimplicitlycontributestotheexperienceofthecommunityratherthanmerelypassivelydemandingknowledgefromothers.Ontheotherhand,makingitclearthatyouareableandwillingtohelpintheprocessofdevelothesolutionisaverygoodstart.“Wouldsomeoneprovideapointer?”,“Whatismyexamplemissing?”,and“WhatsiteshouldIhavechecked?”aremorelikelytogetansweredthan“PleaseposttheexactprocedureIshoulduse.”becauseyou'remakingitclearthatyou'retrulywillingtocompletetheprocessifsomeonecanjustpointyouintherightdirection.WhenYouAskChooseyourforumcarefullyBesensitiveinchoosingwhereyouaskyourquestion.Youarelikelytobeignored,orwrittenoffasaloser,ifyou:postyourquestiontoaforumwhereit'soffpostaveryelementaryquestiontoaforumwhereadvancedtechnicalquestionsareexpected,orvice-versacross-posttotoomanydifferentpostrsonal tosomebodywhoisneitheranacquaintanceofyoursnor allyresponsibleforsolvingyourproblemHackersblowoffquestionsthatareinappropriayedinordertotrytoprotecttheircommunicationschannelsfrombeingdrownedinirrelevance.Youdon'twantthistohappentoyou.Thestep,therefore,istofindtherightforum.Again,andotherWeb-searchingmethodsareyourfriend.Usethemtofindtheprojectwgemostcloselyassociatedwiththehardwareorsoftwaregivingyoudifficulties.UsuallyitwillhavelinkstoaFAQ(FrequentlyAskedQuestions)list,andtoprojectmailinglistsandtheirarchives.Thesinglistsarethefinalplacestogoforhelp,ifyourownefforts(includingreadingthoseFAQsyoufound)donotfindyouasolution.Theprojectpagemayalsodescribeabug-reportingprocedure,orhavealinktoone;ifso,followit.Shootingoffantorsonorforumwhichyouarenotfamiliarwithisriskyatbest.Forexample,donotassumethattheauthorofaninformativewgewantstobeyourfreeconsultant.Donotmakeoptimisticguessesaboutwhetheryourquestionwillbe e—ifyou'reunsure,sendisewhere,orrefrainfromsendingitatall.WhenselectingaWebforum,newsgroupormailinglist,don'ttrustthenamebyitselftoofar;lookforaFAQorchartertoverifyyourquestionison-topic.Readsomeofthebacktrafficbeforepostingsoyou'llgetafeelforhowthingsaredonethere.Infact,it'saverygoodideatodoakeywordsearchforwordsrelatingtoyourproblemonthenewsgroupormailinglistarchivesbeforeyoupost.Itmayfindyouananswer,andifnotitwillhelpyouformulateabetterquestion.Don'tshotgun-blastalltheavailablehelpchannelsatonce,that'slikeyellingandirritatespeople.Stepthroughthemsoftly.Knowwhatyourtopicis!OneoftheclassicmistakesisaskingquestionsabouttheUnixorWindowsprogramminginterfaceinaforumdevotedtoalanguageorlibraryortoolportableacrossboth.Ifyoudon'tunderstandwhythisisablunder,you'dbebestoffnotaskinganyquestionsatalluntilyougetit.Ingeneral,questionstoawell-selectedpublicforumaremorelikelytogetusefulanswersthanequivalentquestionstoaprivateone.Therearemultiplereasonsforthis.Oneissimplythesizeofthepoolofpotentialrespondents.Anotheristhesizeoftheaudience;hackerswouldratheranswerquestionsthateducatemanypeoplethanquestionsservingonlyafew.Understandably,skilledhackersandauthorsofpopularsoftwarearealreadyreceivingmorethantheirfairshareofmis-edmessages.Byaddingtotheflood,youcouldinextremecasesevenbethestrawthatbreaksthecamel'sback—quiteafewtimes,contributorstopopularprojectshavewithdrawntheirsupportbecausecollateraldamageintheformofuselesstraffictotheiralaccountsbecameunbearable.StackSearch,thenaskonStackInrecentyears,theStackExchangecommunityofsiteshasemergedasamajorresourceforansweringtechnicalandotherquestionsandiseventhepreferredforumformanyopen-sourceprojects.StartwithasearchbeforelookingatStackExchange;indexesitinrealtime.There'saverygoodchancesomeonehasalreadyaskedasimilarquestion,andtheStackExchangesitesareoftennearthetopofthesearchresults.Ifyoudidn'tfindanythingthrough,searchagainonthespecificsitemostrelevanttoyourquestion(seebelow).Searchingwithtagscanhelpnarrowdowntheresults.Ifyoustilldidn'tfindanything,postyourquestionontheonesitewhereit'smoston-topic.Usetheformattingtools,especiallyforcode,andaddtagsthatarerelatedtothesubstanceofyourquestion(particularlythenameoftheprogramminglanguage,operatingsystem,orlibraryyou'rehavingtroublewith).Ifacommenterasksyouformoreinformation,edityourmainposttoincludeit.Ifanyanswerishelpful,clicktheuparrowtoupvoteit;ifananswergivesasolutiontoyourproblem,clickthecheckunderthevotingarrowstoacceptitasStackExchangehasgrowntoover100sites,butherearethemostlikelycandidates:SuperUserisforquestionsaboutgeneral-purposecomputing.Ifyourquestionisn'taboutcodeorprogramsthatyoutalktoonlyoveranetworkconnection,itprobablygoeshere.StackOverflowisforquestionsaboutServerFaultisforquestionsaboutserverandnetworkSeveralprojectshavetheirownspecificsites,includingAndroid,Ubuntu,TeX/LaTeX,andSharePoint.ChecktheStackExchangesiteforanup-to-daist.WebandIRCforumsYourlocalusergroup,oryourLinuxdistribution,mayadvertiseaWebforumorIRCchannelwherenewbiescangethelp.(Innon-English-speakingcountriesnewbieforumsarestillmorelikelytobinglists.)Thesearegoodplacestoask,especiallyifyouthinkyoumayhavetrippedoverarelativelysimpleorcommonproblem.AnadvertisedIRCchannelisanopeninvitationtoaskquestionsthereandoftengetanswersinrealtime.Infact,ifyougottheprogramthatisgivingyouproblemsfromaLinuxdistribution(asiscommontoday),itmaybebettertoaskinthedistro'sforum/listbeforetryingtheprogram'sprojectforum/list.Theproject'shackersmayjustsay,“useourbuild”.BeforepostingtoanyWebforum,checkifithasaSearchfeature.Ifitdoes,tryacoupleofkeywordsearchesforsomethinglikeyourproblem;itjustmighthelp.IfyoudidageneralWebsearchbefore(asyoushouldhave),searchtheforumanyway;yourWeb-widesearchenginemightnothaveallofthisforumindexedrecently.ThereisanincreasingtendencyforprojectstodousersupportoveraWebforumorIRCchannel,withmorefordevelopmenttraffic.Solookforthosechannels whenseekingproject-specifichelp.InIRC,it'sprobablybestnottodumpalongproblemdescriptiononthechannelthing;somepeopleinterpretthisaschannel-flooding.Besttoutteraone-lineproblemdescriptioninawaypitchedtostartaconversationonthechannel.Asasecondstep,useprojectmailinglistsWhenaprojecthasadevelopmentmailinglist,writetothinglist,nottoindividualdevelopers,evenifyoubelieveyouknowwhocanbestansweryourquestion.Checktheationoftheprojectanditshomepagefortheaddressofaprojectmailinglist,anduseit.Thereareseveralgoodreasonsforthispolicy:Anyquestiongoodenoughtobeaskedofonedeveloperwillalsobeofvaluetothewholegroup.Contrariwise,ifyouyourquestionistoodumbforamailinglist,it'snotanexcusetoharassindividualdevelopers.Askingquestionsonthelistdistributesloadamongdevelopers.Theindividualdeveloper(especiallyifhe'stheprojectleader)maybetoobusytoansweryourquestions.Mostmailinglistsarearchivedandthearchivesareindexedbysearchengines.Ifyouaskyourquestionon-listanditisanswered,afuturequerentcouldfindyourquestionandtheanswerontheWebinsteadofaskingitagain.Ifcertainquestionsareseentobeaskedoften,developerscanusethatinformationtoimprovetheationorthesoftwareitselftobelessconfusing.Butifthosequestionsareaskedinprivate,nobodyhasthecompletepictureofwhatquestionsareaskedmostoften.Ifaprojecthasbotha“user”anda“developer”(or“hacker”)mailinglistorWebforum,andyouarenothackingonthecode,askinthe“user”list/forum.Donotassumethatyouwillbe eonthedeveloperlist,wherethey'relikelytoexperienceyourquestionasnoisedisruptingtheirdevelopertraffic.However,ifyouaresureyourquestionisnon-trivial,andyougetnoanswerinthe“user”list/forumforseveraldays,trythe“developer”one.Youwouldbewelladvisedtolurkthereforafewdaysoratleastreviewthelastfewdaysofarchivedmessages,tolearnthelocalfolkwaysbeforeposting(actuallythisisgoodadviceonanyprivateorIfyoucannotfindaproject'smailinglistaddress,butonlyseetheaddressofthemaintaineroftheproject,goaheadandwritetothemaintainer.Buteveninthatcase,don'tassumethatthinglistdoesn'texist.Mentioninyourthatyoutriedandcouldnotfindtheappropriatinglist.Alsomentionthatyoudon'tobjecttohavingyourmessageforwardedtootherpeople.(Manypeoplebelievethatprivateshouldremainprivate,evenifthereisnothingsecretinit.Byallowingyourmessagetobeforwardedyougiveyourcorrespondentachoiceabouthowtohandleyour.)Usemeaningful,specificsubjectheadersOnmailinglists,newsgroupsorWebforums,thesubjectheaderisyourgoldenopportunitytoattractqualifiedexperts'attentioninaround50charactersorfewer.Don'twasteitonbabblelike“Pleasehelpme”(letalone“PLEASEHELPME!!!!”;messageswithsubjectslikethatgetdiscardedbyreflex).Don'ttrytoimpressuswiththedepthofyouranguish;usethespaceforasuper-conciseproblemdescriptionOnegoodconventionforsubjectheaders,usedbymanytechsupportanizations,is“object-deviation”.The“object”partspecifieswhat roupofthingsishavingaproblem,andthe“deviation”partdescribesthedeviationfromexpectedbehavior. doesn'tworkproperlyonmylaptop! 6.8.1missh nmousecursor,FoowareMV1005vid.chipset 6.8.1mousecursoronFoowareMV1005vid.chipset-is Theprocessofwritingan“object-deviation”descriptionwillhelpyouanizeyourthinkingabouttheprobleminmoredetail.Whatisaffected?Justthemousecursororothergraphicstoo?IsthisspecifictotheX. versionofX?Toversion6.8.1?IsthisspecifictoFoowarechipsets?TomodelMV1005?Ahackerwhoseestheresultcanimmediayunderstandwhatitisthatyouarehavingaproblemwithandtheproblemyouarehaving,ataglance.Moregenerally,imaginelookingattheindexofanarchiveofquestions,withjustthesubjectlinesshowing.Makeyoursubjectlinereflectyourquestionwellenoughthatthenext searchingthearchivewithaquestionsimilartoyourswillbeabletofollowthethreadtoananswerratherthanpostingthequestionagain.Ifyouaskaquestioninareply,besuretochangethesubjectlinetoindicatethatyou'reaskingaquestion.ASubjectlinethatlookslike“Re:test”or“Re:newbug”islesslikelytoattractusefulamountsofattention.Also,parequotationofpreviousmessagestotheminimumconsistentwithcluinginnewreaders.Donotsimplyhitreplytoalistmessageinordertostartanentirelynewthread.Thiswilllimityouraudience.Som readers,likemutt,allowtheusertosortbythreadandthenhidemessagesinathreadbyfoldingthethread.Folkswhodothatwillneverseeyourmessage.Changingthesubjectisnotsufficient.Mutt,andprobablyothermailreaders,looksatotherinformationinthe 'sheaderstoassignittoathread,notthesubjectline.Insteadstartanentirelynew OnWebforumstherulesofgoodpracticeareslightlydifferent,becausemessagesareusuallymu oretightlyboundtospecificdiscussionthreadsandofteninvisibleoutsidethosethreads.Changingthesubjectwhenaskingaquestioninreplyisnotessential.Notallforumsevenallowseparatesubjectlinesonreplies,andnearlynobodyreadsthemwhentheydo.However,askingaquestioninareplyisadubiouspracticeinitself,becauseitwillonlybeseenbythosewhoarewatchingthisthread.So,unlessyouaresureyouwanttoaskonlythepeoplecurrentlyactiveinthethread,startanewone.MakeiteasytoreplyFinishingyourquerywith“Pleasesendyourreplyto...”makesitquiteunlikelyyouwillgetananswer.Ifyoucan'tbebotheredtotakeeventhefewsecondsrequiredtosetupacorrectReply-Toheaderinyourmailagent,wecan'tbebotheredtotakeevenafewsecondstothinkaboutyourproblem.Ifyourmailprogramdoesn'tpermitthis,getabettermailprogram.Ifyouroperatingsystemdoesn'tsupportanyprogramsthatpermitthis,getabetteroperatingInWebforums,askingforareplyby isoutrightrude,unlessyoubelievetheinformationmaybesensitive(andsomebodywill,forsomeunknownreason,letyoubutnotthewholeforumknowit).Ifyouwantancopywhensomebodyrepliesinthethread,requestthattheWebforumsendit;thisfeatureissupportedalmosteverywhereunderoptionslike“watchthisthread”,“sendonanswers”,etc.Writeinclear,grammatical,correctly-spelledlanguageWe'vefoundbyexperiencethatpeoplewhoarecarelessandsloppywritersareusuallyalsocarelessandsloppyatthinkingandcoding(oftenenoughtobeton,anyway).Answeringquestionsforcarelessandsloppythinkersisnotrewarding;we'dratherspendourtimeSoexpressingyourquestionclearlyandwellisimportant.Ifyoucan'tbebotheredtodothat,wecan'tbebotheredtopayattention.Spendtheextraefforttopolishyourlanguage.Itdoesn'thavetobestifforformal—infact,hackerculturevaluesinformal,slangyandhumorouslanguageusedwithprecision.Butithastobeprecise;therehastobesomeindicationthatyou'rethinkingandpayingattention.Spell,punctuate,andcapitalizecorrectly.Don'tconfuse“its”with“it's”,“l(fā)oose”with“l(fā)ose”,or“discrete”with“discreet”.Don'tTYPEINALLCAPS;thisisreadasshoutingandconsideredrude.(All-smallsisonlyslightlylessannoying,asit'sdifficulttoread.AlanCoxcangetawaywithit,butyoucan't.)Moregenerally,ifyouwriikeasemi-literateboobyouwillverylikelybeignored.Sodon'tuseinstant-messagingshortcuts.Spelling"you"as"u"makesyoulooklikeasemi-literateboobtosavetwoentirekeystrokes.Worse:writinglikeal33tscriptkiddiehax0ristheabsolutekissofdeathandguaranteesyouwillreceivenothingbutstonysilence(or,atbest,aheahelofscornandsarcasm)inIfyouareaskingquestionsinaforumthatdoesnotuseyournativelanguage,youwillgetalimitedamountofslackforspellingandgrammarerrors—butnoextraslackatallforlaziness(andyes,wecanusuallyspotthatdifference).Also,unlessyouknowwhatyourrespondent'slanguagesare,writeinEnglish.Busyhackerstendtosimplyflushquestionsinlanguagestheydon'tunderstand,andEnglishistheworkinglanguageoftheInternet.BywritinginEnglishyouminimizeyourchancesthatyourquestionwillbediscardedIfyouarewritinginEnglishbutitisasecondlanguageforyou,itisgoodformtoalertpotentialrespondentstopotentiallanguagedifficultiesandoptionsfettingaroundthem.Examples:Englishisnotmynativelanguage;pleaseexcusetyIfyouspeak$LANGUAGE,please/PMme;Imayneedassistancetranslatingmyquestion.Iamfamiliarwiththetechnicalterms,butsomeslangexpressionsandidiomsaredifficultforme.I'vepostedmyquestionin$LANGUAGEandEnglish.I'llbegladtotranslateresponses,ifyouonlyuseoneortheother.Sendquestionsinaccessible,standardformatsIfyoumakeyourquestionartificiallyhardtoread,itismorelikelytobepassedoverinfavorofonethatisn't.So:Sendplaintextmail,notHTML.(It'snothardtoturnoffMIMEattaentsareusuallyOK,butonlyiftheyarerealcontent(suchasanattachedsourcefileorpatch),andnotmerelyboilerplategeneratedbyyourmailclient(suchasanothercopyofyourDon'dinwhichentireparagraphsaremultiply-wrappedlines.(Thismakesittoodifficulttoreplytojustpartofthemessage.)Assumethatyourrespondentswillbereadingmailon80-character-widetextdisplaysandsetyourlinewrapaccordingly,tosomethinglessthan80.However,donotwrapdata(suchaslogfiledumpsorsessiontranscripts)atanyfixedcolumnwidth.Datashouldbeincludedas-is,sorespondentscanhaveconfidencethattheyareseeingwhatyouDon'dMIMEQuoted-PrintableencodingtoanEnglish-languageforum.Thisencodingcanbenecessarywhenyou'repostinginalanguageASCIIdoesn'tcover,butmanyagentsdon'tsupportit.Whentheybreak,allthose=20glyphsscatteredthroughthetextareuglyanddistracting—ormayactivelysabotagethesemanticsofyourNever,everexpecthackerstobeabletoreadclosedproprietaryformatslikeWordorExcel.Mosthackersreacttotheseaboutaswellasyouwouldtohavingapileofingpigmanuredumpedonyourdoorstep.Evenwhentheycancope,theyresenthavingtodoso.Ifyou'resendingfromaWindowsmachine,turnoff'sproblematic“SmartQuotes”feature(FromTools>AutoCorrectOptions,clearthesmartquotescheckboxunderAutoFormatAsYouType.).Thisissoyou'llavoidsprinklinggarbagecharactersthroughyourmail.InWebforums,donotabuse“sy”and“HTML”features(whentheyarepresent).AsyortwoisusuallyOK,butcoloredfancytexttendstomakepeoplethinkyouarelame.Seriouslyoverusingsysandcolorandfontswillmakeyoucomeofflikeagigglyteenagegirl,whichisnotgenerallyagoodideaunlessyouaremoreinterestedinsexthananswers.Ifyou'reusingagraphical-user-interfacclientsuchasNetscMessenger,MSOutlook,ortheirilk,bewarethatitmayviolatetheseruleswhenusedwithitsdefaultsettings.Mostsuchclientshavea-based“ViewSource”command.Usethisonsomethinginyoursent-mailfolder,verifyingsendingofplaintextwithoutunnecessaryattachedcrud.BepreciseandinformativeaboutyourproblemDescribethesymptomsofyourproblemorbugcarefullyandDescribetheenvironmentinwhichitoccurs(machine,OS,application,whatever).Provideyourvendor'sdistributionandreleaselevel(e.g.:“FedoraCore7”,“Slackware9.1”,etc.).Describetheresearchyoudidtotryandunderstandtheproblembeforeyouaskedthequestion.Describethediagnosticstepsyoutooktotryandpindowntheproblemyourselfbeforeyouaskedthequestion.Describeanypossiblyrelevantrecentchangesinyourcomputerorsoftwareconfiguration.Ifatallpossible,provideawaytoreproducetheprobleminacontrolledenvironment.Dothebestyoucantoanticipatethequestionsahackerwillask,andanswertheminadvanceinyourrequestforhelp.Givinghackerstheabilitytoreproducetheprobleminacontrolledenvironmentisespeciallyimportantifyouarereportingsomethingyouthinkisabugincode.Whenyoudothis,youroddsofgettingusefulanswerandthespeedwithwhichyouarelikelytogetthatanswerbothimprovetremendously.SimonTathamhaswrittenanexcellentessayentitledHowtoReportBugsEffectively.Istrongly mendthatyoureadit.VolumeisnotprecisionYouneedtobepreciseandinformative.Thisendisnotservedbysimplydumhugevolumesofcodeordataintoahelprequest.Ifyouhavealarge,complicatedtestcasethatisbreakingaprogram,trytotrimitandmakeitassmallaspossible.Thisisusefulforatleastthreereasons.One:beingseentoinvesteffortinsimplifyingthequestionmakesitmorelikelyyou'llgetananswer,Two:simplifyingthequestionmakesitmorelikelyyou'llgetausefulanswer.Three:Intheprocessofrefiningyourbugreport,youmaydevelopafixorworkaroundyourself.Don'trushtoclaimthatyouhavefoundabugWhenyouarehavingproblemswithapieceofsoftware,don'tclaimyouhavefoundabugunlessyouarevery,verysureofyourground.Hint:unlessyoucanprovideasource-codepatchthatfixestheproblem,oraregressiontestagainstapreviousversionthatdemonstratesincorrectbehavior,youareprobablynotsureenough.Thisappliestowgesand ation,too;ifyouhavefoundaation“bug”,youshouldsupplyreplacementtextandwhichpagesitshouldgoon.Remember,therearemanyotherusersthatarenotexperiencingyourproblem.OtherwiseyouwouldhavelearnedaboutitwhilereadingationandsearchingtheWeb(youdiddothatbeforecomplaining,didn'tyou?).Thismeansthatveryprobablyitisyouwho ngsomethingwrong,notthesoftware.Thepeoplewhowrotethesoftwareworkveryhardtomakeitworkaswellaspossible.Ifyouclaimyouhavefoundabug,you'llbeimpugningtheircompetence,whiayoffendsomeofthemevenifyouarecorrect.It'sespeciallyundiplomatictoyell“bug”intheSubjectWhenaskingyourquestion,itisbesttowriteasthoughyouassumeyouare ngsomethingwrong,evenifyouarepriva yprettysureyouhavefoundanactualbug.Iftherereallyisabug,youwillhearaboutitintheanswer.Playitsothemaintainerswillwanttoapologizetoyouifthebugisreal,ratherthansothatyouwillowethemanapologyifyouhavemessedup.GrovellingisnotasubstituteforngyourSomepeoplewhogetthattheyshouldn'tbehaverudelyorarrogantly,demandingananswer,retreattotheoppositeextremeofgrovelling.“IknowI'mjustapatheticnewbieloser,but...”.Thisisdistractingandunhelpful.It'sespeci

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論