我和朋友一起做项目。
他是迄今为止比我更好的程序员,因为我已经编程了一年多一点。
我注意到他经常从头开始构建组件和功能。我认为他几乎是一个"时髦"从头开始构建功能。
我的使用npm库等的方法有什么缺点吗? IE浏览器。日期选择器,地图组件等?
我可能会想到的一个原因可能是性能受到了打击。加载时间会受到显着影响吗?我没有构建大型应用程序,事实上我认为它很小,但是!我想知道我是否会欺骗",或者这会导致臃肿。
作为快速预览,我的基本功能目前包括:
谢谢!
答案 0 :(得分:1)
首先,你不是在作弊 开发人员使用第三方软件包很常见 但是,学习构建自己的组件可能是一种很好的体验 不要忘记,随着你的经验,知识的增长,你总能把它们换掉
赞成。
它们可以节省您的开发时间
他们可以做你可能觉得难以实施的事情
它们可以更好地编写和测试。
缺点。
它们写得不好,不可靠,不受支持。
如果您不知道它们是如何工作的,如果有错误或者您需要扩展功能,则可能会出现问题。
你最终可能会包含大量未使用的脚本
你或许可以写出更好,更易于维护的内容。
使用汇总等工具捆绑,缩小,丑化您的JavaScript和树震动可以帮助您缩小下载大小。
如果您使用套餐,请使用可靠套餐,查看评论和评分,查看活动并发布日志。
与所有与性能相关的问题 - 测试 使用fiddler或chrome查看下载量有多大,测量下载时间 在可能的情况下,在现实设备/网络/负载条件下进行测试。
答案 1 :(得分:0)
对你来说,这是一个很好的考验,因为你是新人,试图自己写出所有这些东西。它是如何学习stackoverflow的大部分用户的:了解一个听起来可行的项目,但当时有一个未知的部分。这就是我个人如何了解我所知道的一切。
话虽如此,我并不认为这是在作弊。英语中有一个常见的短语:"不要重新发明轮子。"这些库存在的原因是因为有人花了很多时间来制作它们,然后意识到其他人也可能从中受益。以Moment为例,使用任何语言处理日期/时间都是一个巨大的痛苦,Moment之所以如此受欢迎的原因是因为没有人想要了解Moment的创作者已经经历过的所有事情。为什么浪费时间重新发明一个完美的,经过良好测试和可靠的车轮?
现在,如果你去了男人,这个轮子很不错,但如果它们是用更耐用的东西制成的,那么它们可以更好地进行更多颠簸会不会更好?"然后在这种情况下,你正在改进方向盘 - 同样有很多项目从现有的项目开始作为一个分支,试图添加作者认为缺少功能的内容。
希望这能为你解决这个问题。