Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 8677|Отговор: 0

Защо не можеш да се справиш без Stackoverflow?

[Копирай линк]
Публикувано в 4.10.2016 г. 9:30:55 ч. | | | |
Като програмист, ако не сте чували за Stackoverflow, по-добре помислете за него. Една от книгите за програмиране, които програмистите трябва да четат най-много (всъщност, достатъчно е да оставим тази за книгите за програмиране!). ):

(Началната страница, която Джун силно вмъкна, снимката по-горе е пародийна снимка, някои интернет потребители не са го разбирали преди, особено за да го кажа)
За онези програмисти, които още не са прочели книгата, е време да си купят такава. Ако все още се колебаете, разгледайте тази статия, за да разберете защо не можете да се справите без StackOverflow.
Мъдростта да задаваш въпроси
Когато задавате технически въпрос, дали ще получите полезен отговор често зависи от начина, по който питате и последвате. —— Ерик С. Реймънд
Понякога ясно описание на проблем, особено технически, не е толкова просто, колкото изглежда. Задаването на въпроси винаги е било наука, но за съжаление много хора не го осъзнават или не ѝ обръщат достатъчно внимание. Или някои въпроси изобщо не искат помощ. Така ще открием всякакви въпроси, на които хората не могат да отговорят или не искат да отговорят:
Проблем с Java regex?
Какво е времето за реакция на SLA?
Каква е разликата между ATL класовете и общото наследяване на класове?
За да избегнете затварянето или промяната на горния проблем, поставете снимка тук, за да изживеете този гаден проблем:

Можете да намерите много от тези въпроси в неотговорените въпроси в SegmentFault, така че много хора очевидно нямат мъдростта или отношението да задават въпроси. Реймънд и Рик Моен написаха класическо есе за това как да задаваме въпроси "Умният начин" (http://www.catb.org/~esr/faqs/smart-questions.html#translations), което е преведено на различни езици и е широко разпространено и може да бъде намерено в китайско издание тук. Stackoverflow и Segmentfalut също имат предложения за задаване на въпроси:
Помощен център > Питане
Как да питате
Как да задам добър въпрос?
Какви въпроси са добре дошли
Има твърде много класически въпроси в Stackoverflow и можем да научим как да задаваме въпроси и да комуникираме с отговорниците. Когато свикнете да четете въпроси в stackoverflow, несъзнателно ще ги имитирате, когато задавате въпроси, като по този начин избягвате да задавате безмозъчни въпроси. Ето някои от най-важните въпроси, на които трябва да обърнете внимание при задаване на въпроси:
Задайте въпрос, на който търсачката няма задоволителен отговор (Google е поне на четири страници стар).
Задавайте въпроси, които не можете да решите сами и сте опитвали много пъти
Опитайте се да опишете проблема възможно най-ясно: добра типография, код, подсказки за грешки, снимки и т.н
Направете въпросите си полезни за другите
Трябва да има категоричен отговор на въпроса и не трябва да има прекалено много субективност
Различни схеми
Много пъти се надяваме да намерим решение, но при Stackoverflow често има неочаквани печалби. Може да видите различни решения на даден проблем, включително дори сравнения на тези решения.
Да предположим, че сега искате да знаете как да извикате външна команда в Python, като ls -l, за да отпечатате статия под директория. Потърсете в Google системата на Python и първата е свързан въпрос за stackoverflow: Извикване на външна команда в Python. (http://stackoverflow.com/questio ... l-command-in-python) (Технически проблеми в Google, основно свързани със stackoverflow, ще се показват).
След това под този въпрос някой обобщава няколко начина за извикване на външни команди:
os.system()
os.popen()
subprocess.popen()
subprocess.call()
subprocess.run()
И всеки метод също се въвежда – можете да изберете подхода, който отговаря на вашия сценарий на кандидатстване. Друг пример е въпросът: Как да се провери дали даден файл съществува с помощта на Python? (http://stackoverflow.com/questio ... exists-using-python), която описва различни методи в Python за проверка на наличието на файл.
Използване на инструменти
Има много мощни инструменти, които могат да ни помогнат по-добре да изучаваме задачи – може да познавате инструмента за дебъгване на gdb, може да знаете модула за мониторинг на времето в Python, но не знаете инструментите, които не познавате. Често, когато за първи път познаваме инструмент, усещаме, че се срещаме твърде късно. Въпреки това, инструментите, които харесваш, винаги са толкова трудни за намиране.
В Stackoverflow може да има добри инструменти във всеки отговор на въпрос или коментар, и винаги ще имате шанс да намерите най-добрите, които са оставени зад линиите.
Ето списък с някои от страхотните инструменти, които открих:
truss/strace: проследява системни повиквания и получени сигнали при изпълнение на процес, strace може да проследява системните повиквания, генерирани от процеса, включително параметри, връщани стойности и време за изпълнение. (От въпрос: Защо четенето на редове от stdin е много по-бавно в C++, отколкото в Python?)
vprof: Визуален инструмент, който анализира характеристиките на Python програми, като време на изпълнение, използване на памет и др. (От въпрос: Как може да се профилира Python?)
Regex 101: Онлайн асистент за регулярни изрази, който може да ви помогне да разберете значението на регулярните изрази, да отстранявате грешки в регулярните изрази и да правите прости експерименти. (От брой: Учене на регулярни изрази)
Ето един прост пример за Regex 101:

Процесът на мислене
Често, когато срещнем проблем, нямаме как да започнем и не знаем в коя посока да мислим. Но със stackoverflow лесно можем да открием конкретното решение и понякога дори да знаем какво мислят другите, когато се сблъскаме с този проблем.
Да кажем, че искате да използвате декоратор, за да изпълните задача, като добавите преди и след низа, върнат от функцията say по-долу, и обмисляте да дефинирате например така.
@makebold
@makeitalic
Определено казвам():
върни се "Здравей"
Всяко обаждане, за да кажеш "Здравей", връща се. Но как да приложим makebold и makeitalic е проблем. В Stackoverflow има големи бикове, които ще ти кажат отговора директно и ще ти хвърлят линк към документацията на декораторите. Но има и Daniels, които ще ви разкажат подробно за техния начин на мислене и разбирането си за декораторите, за да можете дълбоко да разберете механизма на декорацията.
В отговор на горния въпрос има отговор, който е получил над 3 000 харесвания, който ви показва как да решите проблема стъпка по стъпка. Първо, разкажете ни какви са характеристиките на функциите в Python:
Функциите са обекти
Функция може да бъде присвоена на променлива
Функция може да бъде дефинирана в друга функция
Една функция може да върне друга функция
Можете да предавате функции като параметри
След това започнете да обяснявате какво е декоратор: той всъщност е инкапсулатор, който ни позволява да изпълняваме друг код преди и след изпълнение на оригиналната функция без да я променяме. Прост прототип на декоратор се реализира ръчно, последван от въвеждането на синтаксиса на декоратора в Python. Накрая са изброени някои напреднали приложения на декораторите, включително предаване на параметри към декораторите. Прочетете целия отговор, определено ще имате по-дълбоко разбиране за декоратора и ще познавате начина на мислене при разбирането на дизайнера. По този начин, следвайки този път на мислене, самият вие можете да разберете как да използвате декораторите.
Възможни слепи зони
Когато нямате въпроси за задаване, можете да посещавате stackoverflow от време на време, да разглеждате въпроси с повече гласове и да видите какви са отговорили другите. В тази обширна база знания най-вероятно ще откриете някои от когнитивните си слепи петна и съдържание, на което никога не сте обръщали внимание.
Открих някои интересни въпроси, като например:
Да печатам в терминал с цветове, използвайки Python?
Какво е метаклас в Python?
Кой е най-продуктивният ви бърз път с Vim?
Съставих списък с висококачествени въпроси по Python тук за честа справка.
Съжалявам, че се срещнахме твърде късно
И така, как да намерите StackOverflow, две предложения:
Опишете задачата точно на английски
Потърси го в Google
Докато не сте първият, който се сблъсква с технически проблем, вероятно ще срещнете същия или подобен проблем в StackOverflow. Срещнете се скоро, влюбете се в Stackoverflow рано и ще откриете, че животът е толкова удобен.





Предишен:Windows batch connection VPN променя таблицата за маршрутизиране
Следващ:node.js модулен интерфейс
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com