[ js ] 从C/C++到Javascript

楼主: stan0227 (一切从零开始)   2014-01-22 23:18:01
各位版众好
我过去三年工作经验以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在开发上的惯例
谢谢!
作者: s25g5d4 (function(){})()   2014-01-23 00:32:00
直接从 C 跳到 JS 会不会太夸张 你们公司怎么决策的
作者: shaopin (Brian)   2014-01-23 08:37:00
其实也没什么不可以, 我也是从写kernel module到nodejs
作者: superpai (超级白)   2014-01-23 08:53:00
用TypeScript看看?
作者: mrbigmouth (大嘴先生)   2014-01-23 08:55:00
文件写得好应该就行了 请参考一下jsdoc这种自动产生文件的工具 其格式都是很有用的 如果还是觉得不方便之前有看到人有介绍 有IDE能解析jsdoc的注解 自动在你写程式时跳出各method的提示跟说明...这就要找看看了不管是coffeescript还是typescript 注解都是必要的老实说我用这种二次编译的东西都不是很顺手 XD
楼主: stan0227 (一切从零开始)   2014-01-23 13:52:00
感谢回复~~看来TypeScript是目前团队比较适合的方案感谢各位的分享~~
作者: megaman1206 (megaman)   2014-01-24 00:35:00
推荐您Emscripten XD
作者: TuTu522 (oh)   2014-02-25 02:07:00
我推 Dart

Links booklink

Contact Us: admin [ a t ] ucptt.com