程式設計世界經典秘籍 程式設計師的提問之道

2021-08-03 08:03:31 字數 1936 閱讀 6538

摘要: 簡介 在黑客的世界裡,當你丟擲乙個技術問題時,最終是否能得到有用的回答,往往取決於你所提問和追問的方式。本指南將教你如何正確的提問以獲得你滿意的答案。 不只是黑客,現在開放源**(open source)軟體已經相當盛行,你常常也可以由其他有經驗的使用者身上得到好答案,這是件_好事_;使用者比起黑客來,往往對那些新手常遇到的問題更寬容一些。

在黑客的世界裡,當你丟擲乙個技術問題時,最終是否能得到有用的回答,往往取決於你所提問和追問的方式。本指南將教你如何正確的提問以獲得你滿意的答案。

不只是黑客,現在開放源**(open source)軟體已經相當盛行,你常常也可以由其他有經驗的使用者身上得到好答案,這是件_好事_;使用者比起黑客來,往往對那些新手常遇到的問題更寬容一些。然而,將有經驗的使用者視為黑客,並採用本指南所提的方法與他們溝通,同樣也是能從他們身上得到滿意回答的最有效方式。

首先你應該明白,黑客們喜愛有挑戰性的問題,或者能激發我們思維的好問題。如果我們並非如此,那我們也不會成為你想詢問的物件。如果你給了我們乙個值得反覆咀嚼玩味的好問題,我們自會對你感激不盡。好問題是激勵,是厚禮。好問題可以提高我們的理解力,而且通常會暴露我們以前從沒意識到或者思考過的問題。對黑客而言,"好問題!"是誠摯的大力稱讚。

儘管如此,黑客們有著蔑視或傲慢面對簡單問題的壞名聲,這有時讓我們看起來對新手、無知者似乎較有敵意,但其實不是那樣的。

我們不諱言我們對那些不願思考、或者在發問前不做他們該做的事的人的蔑視。那些人是時間殺手 -– 他們只想索取,從不付出,消耗我們可用在更有趣的問題或更值得回答的人身上的時間。我們稱這樣的人為 失敗者(擼瑟) (由於歷史原因,我們有時把它拼作 lusers)。

在你準備要通過電子郵件、新聞群組或者聊天室提出技術問題前,請先做到以下事情:

嘗試在你準備提問的論壇的舊文章中搜尋答案。

嘗試上網搜尋以找到答案。

嘗試閱讀手冊以找到答案。

嘗試閱讀常見問題檔案(faq)以找到答案。

嘗試自己檢查或試驗以找到答案

向你身邊的強者朋友打聽以找到答案。

如果你是程式開發者,請嘗試閱讀源**以找到答案。

當你提出問題的時候,請先表明你已經做了上述的努力;這將有助於樹立你並不是乙個不勞而獲且浪費別人的時間的提問者。如果你能一併表達在做了上述努力的過程中所_學到_的東西會更好,因為我們更樂於回答那些表現出能從答案中學習的人的問題。

運用某些策略,比如先用 google 搜尋你所遇到的各種錯誤資訊(既搜尋 google 論壇,也搜尋網頁),這樣很可能直接就找到了能解決問題的檔案或郵件列表線索。即使沒有結果,在郵件列表或新聞組尋求幫助時加上一句 我在 google 中搜過下列句子但沒有找到什麼有用的東西 也是件好事,即使它只是表明了搜尋引擎不能提供哪些幫助。這麼做(加上搜尋過的字串)也讓遇到相似問題的其他人能被搜尋引擎引導到你的提問來。

別著急,不要指望幾秒鐘的 google 搜尋就能解決乙個複雜的問題。在向專家求助之前,再閱讀一下常見問題檔案(faq)、放輕鬆、坐舒服一些,再花點時間思考一下這個問題。相信我們,他們能從你的提問看出你做了多少閱讀與思考,如果你是有備而來,將更有可能得到解答。不要將所有問題一股腦丟擲,只因你的第一次搜尋沒有找到答案(或者找到太多答案)。

準備好你的問題,再將問題仔細的思考過一遍,因為草率的發問只能得到草率的回答,或者根本得不到任何答案。越是能表現出在尋求幫助前你為解決問題所付出的努力,你越有可能得到實質性的幫助。

小心別問錯了問題。如果你的問題基於錯誤的假設,某個普通黑客(j. random hacker)多半會一邊在心裡想著蠢問題…, 一邊用無意義的字面解釋來答覆你,希望著你會從問題的回答(而非你想得到的答案)中汲取教訓。

絕不要自以為_夠格_得到答案,你沒有;你並沒有。畢竟你沒有為這種服務支付任何報酬。你將會是自己去_掙到_乙個答案,靠提出有內涵的、有趣的、有思維激勵作用的問題 --乙個有潛力能貢獻社群經驗的問題,而不僅僅是被動的從他人處索取知識。

集合棧之程式設計師面試經典

請實現一種資料結構setofstacks,由多個棧組成,其中每個棧的大小為size,當前乙個棧填滿時,新建乙個棧。該資料結構應支援與普通棧相同的push和pop操作。給定乙個操作序列int 2 ope c 為vector 每個操作的第乙個數代表操作型別,若為1,則為push操作,後乙個數為應push...

程式設計師的世界你們不懂

如果你找不到 datedif 函式,也可以不用 datedif 函式,如 b2 1964 9 1則 text right year now b2 2 00 text mod month now b2 1,12 00 顯示 4009 text right year now b2 2 年 mod mon...

HI!程式設計師的世界!你好!

這裡是星星昕!那麼,來定乙個小目標吧!今年大三,開學,扎扎實實學程式設計!到了大三下學期,要考研咯!努力學習,努力考研,努力努力再努力地讓自己去另乙個棒棒的地方認識棒棒的人!爸爸媽媽耳提面命 平台真的hin重要!雖然我跳脫不羈像個小瘋子,但是一旦熱愛,那便深愛!努力做個很棒的小猴子吧!不過嘞,學編 ...