學軟體工程的,都說程式設計要邏輯好,到底什麼是邏輯,可以說說你的理解嗎?

時間 2021-05-07 19:05:29

1樓:eaglewangy

首先思路清晰,遇到任務,先要明確問題是什麼,目標是什麼

其次,要理清依賴關係,包括系統內部依賴,外部依賴,並能夠解決依賴

最後,要處理問題的邊界,異常。

2樓:蔣甬杭

(過於古老而出處不明)

乙個測試工程師走進一家酒吧,要了一杯啤酒;

乙個測試工程師走進一家酒吧,要了一杯咖啡;

乙個測試工程師走進一家酒吧,要了0.7杯啤酒;

乙個測試工程師走進一家酒吧,要了-1杯啤酒;

乙個測試工程師走進一家酒吧,要了2^32杯啤酒;

乙個測試工程師走進一家酒吧,要了一杯洗腳水;

乙個測試工程師走進一家酒吧,要了一杯蜥蜴;

乙個測試工程師走進一家酒吧,要了乙份asdfQwer@24dg!&*(@;

乙個測試工程師走進一家酒吧,什麼也沒要;

乙個測試工程師走進一家酒吧,又走出去又從窗戶進來又從後門出去從下水道鑽進來;

乙個測試工程師走進一家酒吧,又走出去又進來又出去又進來又出去,最後在外面把老闆打了一頓;

乙個測試工程師走進一家酒吧,要了一杯燙燙燙的錕斤拷;

乙個測試工程師走進一家酒吧,要了NaN杯Null;

乙個測試工程師衝進一家酒吧,要了500T啤酒咖啡洗腳水野貓狼牙棒奶茶;

乙個測試工程師把酒吧拆了;

乙個測試工程師化裝成老闆走進一家酒吧,要了500杯啤酒並且不付錢;

一萬個測試工程師在酒吧門外呼嘯而過;

乙個測試工程師走進一家酒吧,要了一杯啤酒';DROP TABLE 酒吧;

測試工程師們滿意地離開了酒吧。

然後一名顧客點了乙份炒飯,酒吧炸了。

3樓:sinux

這裡的邏輯是形式邏輯,是演繹法,是切面式思考問題的習慣,是機械唯物論。

與數學無關,與小學語文老師說的「語文是一切學科的基礎」有關。

我在學習程式設計之前就對精確表達有偏愛,這種偏愛是學習英語的時候萌生的。我們知道,英語所鼓勵的典範的書面語法結構比漢語鼓勵的典範的書面語法結構複雜的多。從句套從句,乙個詞的修飾詞可能在離這個詞很遠的地方出現。

這就對非母語的英語學習者提出乙個要求,即抽絲剝繭,讀長句子,不要匆忙下結論。這與漢語的習慣大相徑庭。漢語書面語力求規避從句,多用散句,用序列的一組句子代替可能造成歧義的複雜從句。

做翻譯題的時候,我想大家都有體會。

我試著用英語的風格寫漢語句子,出來的結果是一種以魯迅為代表的早期翻譯家的風格。或者說,是讀一些古典哲學譯著時的感覺。很難讀,但是表達更精準。

後來學習程式設計,工作中程式設計,帶隊伍程式設計,跟產品經理合作,越來越深刻領會到把意思表達準確多不容易,正確讀懂表達準確的文件多不容易,啟發式提問多不容易。

有段時間我甚至陷入了偏執,工作中說話都變得冗長,不是廢話多,是鑲嵌在話裡面的補充修飾成分越來越多,前置鋪墊越來越多。比如正式開始前,我得先約定好名詞解釋,約束論域。

剛開始跟著我幹的娃兒們往往很有挫敗感。我經常打斷他的滔滔不絕,讓他明確乙個詞在當前語境下的確切所指。於是他覺得開口都困難,腦子似乎變慢了,嘴都瓢了。

後來逐漸被逼的跟我一樣,名詞前總有一串定語,動詞前總有一串狀語,停頓大約50毫秒後有一些補語。交流重新變得愉快起來。

4樓:

A生BB生CC生D

B+C生E

E生A邏輯如果清晰, 只要告訴你,哥哥我有A 或B 或E 就什麼都有了. 但如果告訴你只有C和D,就真的只有C和D.....

很多程式設計, 就是給你一堆邏輯,在給問你,要什麼條件完成這些邏輯,最低需求........

邏輯不清晰,你和產品就打去吧, 前面問你需求能完成嗎,你說能,等後面發現他給的產品設計邏輯上走不通,又要和人家撕逼去了,然後人家在告訴你如何如何走邏輯就OK,然後你又懵逼了.........

5樓:一墨瀅一

軟體可以看成乙個巨大無比的狀態機,使用者的每個操作都會使狀態發生轉變。所以你必須將所有的情況全部考慮到,並使用絕對性的邏輯關係去連線他們。

這裡就有了兩個難點:1、絕對性的邏輯關係;2、全部的情況

先說說絕對性的邏輯關係。我們生活中大部分人思考問題的時候都採用的是模糊性的邏輯關係。而在程式設計的時候,我們需要的是絕對性的邏輯,是乙個極其明確的條件。

實際上三種結構:順序、分支、迴圈,順序結構是基礎,而分支和迴圈都或多或少和「條件」有關。這也是我們組織整個程式的邏輯的核心。

這些「條件」必須是確切的,關於這一點其他回答已經說的很多了,我就不多說了。

然後是全部的情況這個因素。

說個真實的故事:我以前和朋友玩彩六,彩六有個機制,就是你在打排名的時候,如果隨機排的隊友開外掛程式,你贏了,拿了rank分。那麼當那個人被檢測到外掛程式以後,你拿的分會被扣除。

反之對手開掛你輸掉,之後這個分會還給你。

然後有一天我和朋友就聊到了這個,我提出了乙個問題:如果你排的隊友開掛結果還是輸了,我掉分了,他被檢測到開掛以後,我是加分還是減分呢?

這個問題問完就被朋友吐槽「為什麼會有這種弱智問題」,但是實際上這些奇葩情況就是要考慮到的。我的觀點是「分數扣除和增加的目的是消除影響所以輸了應該把分返還」,但是實際情況是即便隊友開掛輸了,檢測到以後仍然是扣分。也就是說結果和輸贏無關,只和開沒開掛有關。

這就是我們剛才說的,軟體的本質是乙個巨大的狀態機,如果存在某種「可到達」的狀態沒有被設定,那麼當這種狀態被啟用,就會出現BUG。很多BUG都是這樣產生的

大概想到的就是這麼多。

6樓:我是康康

我倒是認為邏輯好是必要條件,程式設計最重要的我認為是設計能力,給定乙個需求,或者乙個難題,怎麼從無到有的設計出來整個大框,這才是程式設計的考驗。

7樓:羅宸

邏輯系統:

命題邏輯

謂詞邏輯

二階謂詞邏輯

直覺主義邏輯

邏輯系統和代數結構的關係:

布林代數

海廷代數

格邏輯系統和電腦程式的關係:

科里霍華德同構(逃

8樓:

程式設計需要邏輯好,但最重要的是手速快

邏輯清晰之類的要求,我見到的小朋友都是一點即透,舉一反三,觸類旁通的人才,要不是公司仁慈,我們這些老梆子早就被清除了。

乙個公司絕大部分人都是同一水平,手快就能趁熱打鐵,慢工未必出細活。

9樓:LikeDreamwalker

我就按照程式設計常見的邏輯寫了,嚴格意義上的邏輯不是這個意思。

使用者要買蘇打水:

使用者買了一罐蘇打水

使用者買了 1 罐蘇打水

使用者買了 '1' 罐蘇打水

使用者買了 1.7 罐蘇打水

使用者買了 -1 罐蘇打水

使用者買了 [1] 罐蘇打水

使用者買了 罐蘇打水

使用者買了 -1.5 罐蘇打水

使用者買了 ? 罐蘇打水

使用者買了 1+1 罐蘇打水

使用者買了 "1" + "1" 罐蘇打水

使用者買了一罐罐蘇打水

安全驗證 - 知乎

10樓:王可青

很簡單的例子,你學會了加減乘除,現在讓你算各種現實問題會算嗎?不要覺得簡單,算不清賬的大有人在。

如果還不能理解那再舉個例子,算極限,基本方法書上都有,那為啥還是不會算呢?不僅可能不會算甚至可能聽都聽不懂。

所有的東西基本構成都很簡單,但不代表構成的東西簡單,更不意味著構成方式簡單。我認為這個構成方式就是邏輯,而計算機,在學習過程中會有大量的分層結構,從最簡單底層硬體的電氣特性,一步一步構成最高層的應用程式,這之間的所有東西都是人實現的,那自然你邏輯好,就對構成方式了解的清楚,了解清楚你才有可能做出乙個優秀的東西。

11樓:LV灬靈小

就這個題不用看題目只需要知道題目讓你選錯誤的是然後看選項有的學生啥都不會就四選一

有的學生雖然做不來但是會bc二選一

這就叫邏輯

如果你看不懂為什麼是bc二選一基本上和邏輯這個詞無緣了

12樓:Matatalab 瑪塔創想

在我的理解來說,邏輯好就是要把天馬行空的東西落地的一種能力。

比如說,現在面臨乙個任務,如果任務週期很長,那你是不是可以將乙個大任務分別拆解成小任務,並分別制定時間表去完成。

同時,拆解出來的小任務,你應該去判斷哪個部分的優先順序最重,而不該眉毛鬍子一把抓。

在完成任務時,前後步驟是否相宜,左右條件是否有矛盾,應該反覆檢驗。

並且還要多找出更優化的方法,提高工作效率。

這就是程式設計所謂的邏輯吧,當然,現在更流行說計算思維。

13樓:「已登出」

順序結構推理;

迴圈結構推理;

狀態機結構進行流程控制;

計算機底層是由各種嚴絲合縫的時序電路組成的,按照現實時間有條不紊的進行精確推演。

很多時候數學好很重要,是因為能把實物抽象成數學模型並進行嚴格推演的能力重要,計算機從業者需要的就是這種能力。

你可以天馬行空的去要乙個隨著手機桌面變換顏色的手機殼,下一步是如何建模實施。當你能構建出乙個路線圖的時候,就算是有邏輯思維了(能不能做出來另說。)

14樓:「已登出」

邏輯就是幾門課,《形式邏輯》《語言邏輯》《數理邏輯》,學好了邏輯水平就是中上,融會貫通需要時間。說起來就是判斷、推理、論證的學問,無處不在,無處不用。

軟體工程需要注意的是基礎課專業基礎課要學好學透,在此基礎上研究實戰,也就是學完相關的理論再實踐,沒學到時不碰。這樣能事半功倍,關係要是反了,就會事倍功半。

15樓:郭斯特

個人的理解,程式設計中的邏輯訓練其實就是流程,屬於101這種基礎必修課。正經的大學課程設定都要先教流程圖,再教程式語言的。普通人的腦力有限,稍微複雜一點的系統,大部分人都無法在大腦中清晰地看清楚所有的邏輯流程,必須借助流程圖這種工具來幫助記憶,理解和分析。

對於專業人員來說,複雜的系統都必須要先設計,分析,確保邏輯上形成閉環,沒有明顯漏洞,再程式設計實現,否則就是瞎搞,很容易陷入編碼->bug->修bug->忘記big picture->產生更多bug的惡性迴圈。舉個簡單的例子,你見過不畫藍圖,就直接跟著感覺走蓋房子的工程團隊嗎?這樣的房子蓋出來你敢住嗎?

16樓:薄雲峰

理解了這個笑話,大概就理解了所謂的「邏輯」吧,現實世界的「邏輯」是隱含很多周邊條件和語境等因素的,而計算機的邏輯要更「單純」,因此程式設計的邏輯,就是要將現實世界的邏輯,轉換成計算機能正確解釋的「邏輯」

17樓:扶餘城裡小老二

老闆下單,然後說需求,你就做。

然後他說應該這麼改,然後你就那麼改,

接著追加需求。讓你在2層小樓的地基上面繼續蓋。上不封頂。

總之是他設想是蓋24層綜合大樓,都是他一點點告訴你,因為他沒有那麼多錢,所以只能靠忽悠你,多壓榨一層算一層。然而你卻低估了老闆的野心和高估了他能出的錢。

就這樣,你拿到了2層的工程款,交付給他一棟4層危樓。

所以說,格局很重要,你得參與過24層專案,他說要蓋2層的時候,你得按照6層的樣子修,當他要蓋9層的時候,你得往18層的地基打。一句話就是讓他不停地掏錢。

說到底,你想圈錢,就得參與過各個規模的專案,知道各個形態都有什麼參與者,然後進行拼接。

互動模式要麼是多執行緒,要麼是協程。基礎架構三三制。

呵呵,結賬吧,老闆

軟體工程學的程式語言很多,有必要把C語言學精嗎,目前在學Python?

Vince 語言只是敘述邏輯的手段,那麼問題就在於,你要敘述的邏輯是什麼。既然目前在學python,就好好學好python,用python實現你想要的東西。等到時機成熟,你這個問題就不再是問題,那時候你就知道,c和python所講的故事,並不是一類故事。等那時候,要麼你已經放棄探索計算機系統的願望 ...

軟體工程專業的學生,未來想參加遊戲程式設計工作,有必要考研嗎?

孤雁伴月 最簡單直接的方法去查你想去的公司職位的招聘資訊。假定你在中國發展的話,相對來說能做出像樣點遊戲的公司,或者說稍微願意在遊戲上面花點心思的公司,又規模比較大的,寥寥無幾。我相信一開始就想從事遊戲行業的一般都是有點情懷的,起碼想做點好的遊戲的,而不是渣渣輝那種。如果你是這一類的話,那就直接找好...

對於學軟體工程的學生 不打遊戲,預算六千以內 ,有哪些可以推薦的筆記本?

張西西 聯想拯救者7000y系列,和惠普暗影精靈系列,可以考慮哈!6000左右價位裡,這兩款遊戲本價效比超高!特點 錢少,活好,耐操!缺點也有,顏值不高! 不求甚解 作為一名程式設計師,我不想推薦具體的型號 實際上是因為我不熟 但可以基於我自己的感受提供兩個建議 記憶體要大,16G起,32G更好,c...