{"action":"reopened","issue":{"url":"https://api.github.com/repos/wangduanduan/wangduanduan.github.io/issues/10","repository_url":"https://api.github.com/repos/wangduanduan/wangduanduan.github.io","labels_url":"https://api.github.com/repos/wangduanduan/wangduanduan.github.io/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/wangduanduan/wangduanduan.github.io/issues/10/comments","events_url":"https://api.github.com/repos/wangduanduan/wangduanduan.github.io/issues/10/events","html_url":"https://github.com/wangduanduan/wangduanduan.github.io/issues/10","id":412891123,"node_id":"MDU6SXNzdWU0MTI4OTExMjM=","number":10,"title":"如无必要，请不要多安装任意一个npm包","user":{"login":"wangduanduan","id":16631306,"node_id":"MDQ6VXNlcjE2NjMxMzA2","avatar_url":"https://avatars1.githubusercontent.com/u/16631306?v=4","gravatar_id":"","url":"https://api.github.com/users/wangduanduan","html_url":"https://github.com/wangduanduan","followers_url":"https://api.github.com/users/wangduanduan/followers","following_url":"https://api.github.com/users/wangduanduan/following{/other_user}","gists_url":"https://api.github.com/users/wangduanduan/gists{/gist_id}","starred_url":"https://api.github.com/users/wangduanduan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wangduanduan/subscriptions","organizations_url":"https://api.github.com/users/wangduanduan/orgs","repos_url":"https://api.github.com/users/wangduanduan/repos","events_url":"https://api.github.com/users/wangduanduan/events{/privacy}","received_events_url":"https://api.github.com/users/wangduanduan/received_events","type":"User","site_admin":false},"labels":[{"id":1242646622,"node_id":"MDU6TGFiZWwxMjQyNjQ2NjIy","url":"https://api.github.com/repos/wangduanduan/wangduanduan.github.io/labels/npm","name":"npm","color":"36e292","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-02-21T12:03:52Z","updated_at":"2019-05-16T01:13:47Z","closed_at":null,"author_association":"OWNER","body":"![](https://wdd.js.org/img/images/20180614224056_7kDRDy_Jietu20180614-224039.jpeg)\r\n\r\n# 1. 风雨总在阳光后\r\n\r\n今天在使用一个npm包时，无论怎么搞，它的功能总是无法符合我的预期。\r\n\r\n于是我把这个包卸载了，自己写了几行代码，来替代这个包的功能，运行正常。\r\n\r\n这件事情引起我的反思，当初我用这个包，是因为这个包提供功能，可以让我少写几行代码。\r\n\r\n于是我就用了，感觉很好，天朗气清，惠风和畅。然而好景不长，风雨总在阳光后。\r\n\r\nnpm包大多是开源的项目，你可以免费的使用这些包带来的好处。\r\n\r\n但是如果出现bug, 你也不要苛责哪些包的开发者，毕竟大多数开发者都是无私奉献，并没有从中取得什么好处。\r\n\r\n如果你自己可以几行代码就可以搞定的事情，就不要在npm包中找解决方案了。不要用偷懒的接口给自己以后的道路挖坑。\r\n\r\n# 2. 少的哲学\r\n\r\n一个变量可以满足要求话，\r\n就不要写两个变量，\r\n因为变量是小鬼，\r\n越多变量，\r\n越难控制。\r\n\r\n一行代码可以完成的功能，\r\n就不要写两行了，\r\n因为代码行是用过的鞋垫，\r\n行数越多，\r\n味道越臭。\r\n\r\n最漂亮的函数体内只有一行代码，\r\n如果做不到，\r\n那么最多铺满编辑器的一屏，\r\n不用滚动屏幕就可以看完整个函数体，\r\n也不需要切换你脑子里的上下文环境和调用栈了。\r\n\r\n如果可以的话，\r\n我想做一个不用写代码的程序员\r\n\r\n# 3. 代码可读性\r\n\r\n如果你今天写的代码，\r\n只有上帝和你自己能看懂，\r\n那么一个月之后，\r\n这些代码只有上帝能看懂。\r\n\r\n代码不是写给计算机看的，\r\n而是写给人看的。\r\n如果你写的代码只有编译器能看懂，\r\n那么你那么叼，\r\n你为什么不使用只有0和1的键盘呢？\r\n\r\n# 4. 有能力就自己动手\r\n\r\n如果你自己造不了轮子，\r\n没关系，大多数人都在使用别人造的轮子，\r\n如果你造不了螺丝，\r\n那你最好还是改行做点别的事情，\r\n\r\n如果你看不懂轮子的说明书，\r\n因为那毕竟是英文啊！\r\n那有怎样，你自己写的代码不就是英文码\r\n你既然这么害怕英文，\r\n为什么不自己用中文写代码呢\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"}}
{"actor":{"display_login":"wangduanduan"}}