欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 寫程序 不用函數 是不是代碼就變長了? [打印本頁]

作者: 李冬    時間: 2022-3-9 09:49
標題: 寫程序 不用函數 是不是代碼就變長了?
如題

作者: rundstedt    時間: 2022-3-9 17:10
長不長關鍵看你的實現邏輯是否最優,用不用函數無關。
作者: SF600    時間: 2022-3-9 18:08
如果代碼很長的話,函數調用簡潔明了,很容易看懂。相反,不用函數的話,則會生澀難懂。

作者: 786786786786    時間: 2022-3-9 20:38
寫程序在邏輯一樣的情況下,我還是比較習慣用函數。方便快捷不容易出現特殊情況
作者: man1234567    時間: 2022-3-10 08:25
未必。比如HELLO或點燈,用函數代碼會增加。
用函數如造模塊,用不用都可以,但為啥罕見有人不用呢,你應該懂的
作者: 123laohu123    時間: 2022-3-10 10:13
未必 看項目設計 常用編程用函數簡單點 有條理用函數調用
作者: 1842559923    時間: 2022-3-10 10:17
不是變長了,是可讀性,還有移植性都降低了,而且不美觀
作者: fj51hei    時間: 2022-3-10 10:34
1842559923 發表于 2022-3-10 10:17
不是變長了,是可讀性,還有移植性都降低了,而且不美觀

但能不能說不用函數調用 也就不需要現場保護啥的,更不需要PC長距離跳轉
作者: 名字不是重點    時間: 2022-3-10 12:22
麻煩你,把你對“函數”這個詞的理解,說說看?
作者: Canyon10    時間: 2022-3-10 12:33
看項目設計 常用編程用函數簡單點 有條理用函數調用
作者: 名字不是重點    時間: 2022-3-10 12:41
很難想象,編程寫代碼不用“函數”,有誰能貼一段沒有“函數”的代碼?

個人認為,不同的編譯語言對“函數”的叫法不同:A(基于ASM)、B(基于BASIC)叫做“Sub”(子程序),;
而C(C51、C#)之類就有“FUNCTION”的叫法。
“函數”的特點就是代碼可讀、邏輯、復用、移植等等的體現。
不用函數,似乎還沒見過。比如C51中,串口中斷,就是一個“函數”,最常見的delay_ms(x)也 一個“函數”,更別提顯示“函數”、按鍵掃描“函數”。。。

再次請求:有誰能貼一段沒有“函數”的代碼讓我學習學習?
作者: rundstedt    時間: 2022-3-10 16:45
名字不是重點 發表于 2022-3-10 12:41
很難想象,編程寫代碼不用“函數”,有誰能貼一段沒有“函數”的代碼?

個人認為,不同的編譯語言對“函 ...

其實你把函數都定義成inline屬性事實上(從機器碼角度考慮)就沒有函數了。所有的函數都在調用位置展開,不存在調用和返回。
作者: 名字不是重點    時間: 2022-3-10 20:17
發表于 2022-3-10 16:45
其實你把函數都定義成inline屬性事實上(從機器碼角度考慮)就沒有函數了。所有的函數都在調用位置展開, ...

不存在調用和返回?那些隨機事件如何處理?比如串口接收事件,難道每個指令完成后都要判斷一下標志?
然后程序的PC指針從ORG 000H 就一路一直走到ROM空間盡頭?才疏學淺,真想不出。。
作者: rundstedt    時間: 2022-3-10 20:39
名字不是重點 發表于 2022-3-10 20:17
不存在調用和返回?那些隨機事件如何處理?比如串口接收事件,難道每個指令完成后都要判斷一下標志?
然 ...

自然有別的邏輯來實現你的功能。你沒用過inline才疏學淺而已。
作者: 名字不是重點    時間: 2022-3-10 20:56
發表于 2022-3-10 20:39
自然有別的邏輯來實現你的功能。你沒用過inline才疏學淺而已。

貼個代碼上來,讓我學習一下?
作者: maoyongyi    時間: 2022-3-10 22:33
用函數,就是把復雜的過程模塊化,代碼不見得就變長了。但可讀性高了。就是用匯編寫,都要用函數。
作者: maoyongyi    時間: 2022-3-10 22:44
發表于 2022-3-10 20:39
自然有別的邏輯來實現你的功能。你沒用過inline才疏學淺而已。

如果有變量,還是要壓堆杙的。
作者: rundstedt    時間: 2022-3-10 22:51
maoyongyi 發表于 2022-3-10 22:44
如果有變量,還是要壓堆杙的。

inline不存在壓棧,參數根本就不傳遞。
作者: 188610329    時間: 2022-3-10 23:35
名字不是重點 發表于 2022-3-10 20:56
貼個代碼上來,讓我學習一下?

他就是偷換概念,你還讓他發代碼?

就算寫個流水燈 都需要 “main函數”,所以,這個“不用函數”這個偽命題,居然能討論到那么多樓,也夠奇葩的。

inline 本來就是寫在函數里的,然后來跟你說站在機器的角度考慮沒有函數,就是一個斷章取義偷換概念的噴子,理他干啥?
作者: 名字不是重點    時間: 2022-3-11 08:48
指數布丁字數布丁

哈哈~~
作者: univers    時間: 2022-3-11 16:26
規范的都是寫與一個個函數,解說一定要標注清楚,函數再做成一個一個模塊化的組件,應用的時候把這些模塊調出來就可以組成一個系統了,最多就是局部小改一下。這樣才有時效,代碼看起來整潔,簡潔,明了。
如果你亂寫一通,那時間長了自己不認得了。對吧!!!!
作者: tatachaoren    時間: 2022-3-12 03:04
寫函數不一定代碼會變短,但是可移植性,可讀性都高了。想節省內存,還是得增強自己的軟件編寫能力,也就是增強腦子的邏輯
作者: 張三不是我    時間: 2022-3-13 16:39
不一定代碼會變長,關鍵看程序是如何實現的,使用函數會使代碼美觀,可讀性變好
作者: Leokex    時間: 2022-3-15 22:31
在團隊編寫程序時,使用函數會使得其它成員能夠讀懂程序,但是代碼長度是由人為編寫的邏輯決定的。比如一個定時器做時鐘LCD1602顯示程序,我的師兄全部打下來,實現功能后,用了七百多行代碼,一看程序發現有很多while,if,for等嵌套。但是實現同樣功能的代碼,我的學長打下了就只有四百多行。代碼長度主要還是看個人編寫習慣、編寫技巧和編寫格式。
作者: 阿吧阿吧    時間: 2022-3-16 14:41
不一定,要分情況的,有的情況下一個簡單地邏輯就可以解決,不需要用到函數,用函數可能會把問題變得更加復雜。




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1