[ js ] 從C/C++到Javascript

看板Ajax作者 (一切從零開始)時間10年前 (2014/01/22 23:18), 編輯推噓5(508)
留言13則, 7人參與, 最新討論串1/2 (看更多)
各位版眾好 我過去三年工作經驗以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

01/23 00:32, , 1F
直接從 C 跳到 JS 會不會太誇張 你們公司怎麼決策的
01/23 00:32, 1F

01/23 08:37, , 2F
其實也沒什麼不可以, 我也是從寫kernel module到nodejs
01/23 08:37, 2F

01/23 08:53, , 3F
用TypeScript看看?
01/23 08:53, 3F

01/23 08:55, , 4F
文件寫得好應該就行了 請參考一下jsdoc這種自動產生文
01/23 08:55, 4F

01/23 08:56, , 5F
件的工具 其格式都是很有用的 如果還是覺得不方便
01/23 08:56, 5F

01/23 08:56, , 6F
之前有看到人有介紹 有IDE能解析jsdoc的註解 自動在
01/23 08:56, 6F

01/23 08:57, , 7F
你寫程式時跳出各method的提示跟說明...這就要找看看了
01/23 08:57, 7F

01/23 08:59, , 8F
不管是coffeescript還是typescript 註解都是必要的
01/23 08:59, 8F

01/23 08:59, , 9F
老實說我用這種二次編譯的東西都不是很順手 XD
01/23 08:59, 9F

01/23 13:52, , 10F
感謝回覆~~看來TypeScript是目前團隊比較適合的方案
01/23 13:52, 10F

01/23 13:52, , 11F
感謝各位的分享~~
01/23 13:52, 11F

01/24 00:35, , 12F
推薦您Emscripten XD
01/24 00:35, 12F

02/25 02:07, , 13F
我推 Dart
02/25 02:07, 13F
文章代碼(AID): #1It-4izk (Ajax)
文章代碼(AID): #1It-4izk (Ajax)