看板 Ajax 關於我們 聯絡資訊
各位版眾好 我過去三年工作經驗以C++為主 最近團隊新專案使用Javascript + Node.JS作為主要開發語言與環境 團隊人數約5人 過去皆無開發Javascript經驗 在開發過程中遭遇到不適應Javascript語言特性的狀況 想在此與各位討論看看 在Javascript開發圈中是如何面對這些問題 1) Dynamic Type v.s. Static Type 過去習慣Static Type的我們 遇到Dynamic Type非常不適應 例如function的parameters 由於常常需要繼續開發或維護其他成員所撰寫的function 我們常常無法直接一目了然了解該function的parameters究竟是什麼 是boolean, number, string或是其他更複雜的物件? 雖然變數的命名規則可以稍微改善這個狀況 但是例如像var FunA = function( message ) {...} 這個message究竟是什麼? 目前團隊除了透過命名規則外,另外就是每個函式之前都要有個註解來解釋這些參數 2) 物件的property是動態的 這是一個很powerful的特性 但是在開發過程中一樣很困擾團隊 C++的開發IDE提供了Intellisense幫助我們很快的選取到物件的property 或是回到物件定義的地方了解實際的實作方式 但是Javascript的動態property讓Intellisense難以實作 因此在使用物件時,我們常常不曉得有哪些property可以使用 而回歸搜尋物件定義的地方也很麻煩 另外由於此特性,可能你預期的property在runtime中被移除掉了 例如var playerCount = playerQueue.size(); 原本預期得到人數,但是由於size()可能被移除或是被賦予了其他的意義 而造成與預期有落差的狀況 ====================================================================== 不曉得Javascript開發圈的朋友們是如何解決上述開發過程中的議題? 團隊目前就是透過命名方式, 註解以及落實單元測試來協助開發 很想了解一下Javascript在開發上的慣例 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.136.131
s25g5d4:直接從 C 跳到 JS 會不會太誇張 你們公司怎麼決策的 01/23 00:32
shaopin:其實也沒什麼不可以, 我也是從寫kernel module到nodejs 01/23 08:37
superpai:用TypeScript看看? 01/23 08:53
mrbigmouth:文件寫得好應該就行了 請參考一下jsdoc這種自動產生文 01/23 08:55
mrbigmouth:件的工具 其格式都是很有用的 如果還是覺得不方便 01/23 08:56
mrbigmouth:之前有看到人有介紹 有IDE能解析jsdoc的註解 自動在 01/23 08:56
mrbigmouth:你寫程式時跳出各method的提示跟說明...這就要找看看了 01/23 08:57
mrbigmouth:不管是coffeescript還是typescript 註解都是必要的 01/23 08:59
mrbigmouth:老實說我用這種二次編譯的東西都不是很順手 XD 01/23 08:59
stan0227:感謝回覆~~看來TypeScript是目前團隊比較適合的方案 01/23 13:52
stan0227:感謝各位的分享~~ 01/23 13:52
megaman1206:推薦您Emscripten XD 01/24 00:35
TuTu522:我推 Dart 02/25 02:07