第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

除了js,能換一種完備的語言嗎?

除了js,能換一種完備的語言嗎?

臨摹微笑 2019-01-02 17:24:37
如題詳述:最近,一直在開發(fā)react項(xiàng)目,給我最大感受就是bug,以及復(fù)雜性。只要測試人員想測試,產(chǎn)品經(jīng)理想到處點(diǎn)點(diǎn),bug總是會(huì)有的,感覺就是改不完的,這也讓我開始懷疑js這門語言。對(duì)于問題,我想的當(dāng)然是最完美解決方案,可是在js語言里,我感覺做不到,無論是頁面交互邏輯、數(shù)據(jù)邏輯、業(yè)務(wù)場景邏輯、react運(yùn)行原理以及公共組件封裝的完備性,這里面的復(fù)雜性我永遠(yuǎn)考慮不全,所以對(duì)于問題我也只能是暫時(shí)解決了、當(dāng)下解決了,因?yàn)椋洳欢∈裁磮鼍?、什么邏輯考慮不到而有了bug。每天在這樣的場景下修改bug,讓我如臨深淵,如履薄冰,也不想這樣無休止的bug下去。對(duì)于前端開發(fā),的確有了很大的進(jìn)步,前后端分離、單頁應(yīng)用、數(shù)據(jù)邏輯處理轉(zhuǎn)移到前端,或頁面交互、或用戶體驗(yàn),隨著而來的就是前端開發(fā)的復(fù)雜性。同樣一個(gè)項(xiàng)目,配備著同樣數(shù)量的前后端開發(fā)人員,可總感覺前端有改不完的bug,而后端就很閑,我不知道是身為前端的我們太弱,還是后端人員太強(qiáng)。鑒于此,我開始懷疑js這門語言,對(duì)于一門弱類型語言,本來就存在著很多不確定性、不太好理解的內(nèi)部換算規(guī)律,至于這種規(guī)律,可能是我懂得太少,亦或是js套路太深了,反正我就是這樣輕而易舉的掉入坑中了。至于個(gè)人開發(fā),自己又是個(gè)相對(duì)追求完美的人,對(duì)于問題都希望盡我能用最完美解決方案。一開始就是從無到有的選擇了前端,如果可能,我愿意換一種語言,能吻合我性格的一種語言。不知大家有什么看法,亦或是好的建議?
查看完整描述

1 回答

?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊

歸根結(jié)底是你的能力不夠、對(duì)這個(gè)語言不熟悉,而不是這個(gè)語言本身,bug是不可避免的,如何在設(shè)計(jì)階段通過合理的設(shè)計(jì)和約定來避免bug,以及出現(xiàn)bug后怎么高效定位、解決bug,并從中吸取教訓(xùn),是一個(gè)程序員應(yīng)該具備的最基本的素養(yǎng),如果你根本就不了解語言的特點(diǎn),不知道怎么提高運(yùn)行效率,實(shí)現(xiàn)前沒有好好設(shè)計(jì)模型,隨心所欲瞎逼寫一通;今天定義了一個(gè)數(shù)據(jù)類型,明天又按另一種類型寫;今天這個(gè)函數(shù)是這個(gè)作用,明天就變那個(gè)作用了;全局變量滿地跑,變量名abcd排著用,自帶混淆,那你換什么語言寫都是一堆bug。動(dòng)態(tài)語言還好,你還能運(yùn)行起來,靜態(tài)語言你連編譯都編譯不出來,到時(shí)候你還得發(fā)個(gè)問題問:除了C++,能換一種能編譯出來的語言嗎?


另外推薦你在熟悉了語言特性之后再遷移到typescript,包含靜態(tài)類型檢查,但不是說就不會(huì)有bug。


不知道你有沒有看到,我把底下的回復(fù)貼上來

  1. 會(huì)有這樣的想法說明你的能力不足,需要多看別人的或者框架的代碼,學(xué)習(xí)別人的思路,學(xué)習(xí)框架的設(shè)計(jì)思路。

  2. 有bug可以接受,但低級(jí)bug多了(單個(gè)頁面中兩三個(gè)低級(jí)bug就可以毀掉用戶體驗(yàn)),欠缺考慮的地方多了就會(huì)讓人覺得你們太過馬虎。要達(dá)到各方面盡可能周全的考慮,可以通過抽象和模塊化實(shí)現(xiàn),各種框架就是幫程序員干這種事的。此外,確定單點(diǎn)/單個(gè)模塊無明顯bug后再將其整合進(jìn)其父模塊。

  3. 不妨在實(shí)現(xiàn)前通過畫程序框圖/結(jié)構(gòu)圖/數(shù)據(jù)流圖/狀態(tài)機(jī),然后根據(jù)此設(shè)計(jì)實(shí)現(xiàn)。實(shí)現(xiàn)時(shí)一定要寫注釋,不要求每一句都要注釋,之前每個(gè)函數(shù),每個(gè)模塊都要有注釋標(biāo)明其作用,復(fù)雜的模塊最好還要標(biāo)明其思路,單句可讀性差的騷操作也要注釋。

  4. 你排斥的不是js和bug,是這份工作。


回答你的評(píng)論:直接搜索即可。這些東西是軟件工程里的概念,小工程可有可無,大工程一般還是要借助這些東西,當(dāng)然如果你小工程都做得很頭疼了也可以用這些東西幫助你開發(fā)。

舉個(gè)開發(fā)方法的例子(實(shí)際有前人總結(jié)的若干軟件開發(fā)模型):


查看完整回答
反對(duì) 回復(fù) 2019-01-02
  • 1 回答
  • 0 關(guān)注
  • 451 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)