你的Project Starter在哪里?

今早看到一个github repo,hackathon starter。它是一个nodejs的project starter,帮助你快速建立项目原型。

它提供了如下功能:

  • Local Authentication using Email and Password
  • OAuth 1.0a Authentication via Twitter
  • OAuth 2.0 Authentication via Facebook, Google or GitHub
  • Awesome flash notifications with animations by animate.css
  • MVC Project Structure
  • Node.js clusters support
  • Rails 3.1-style asset pipeline (See FAQ)
  • LESS stylesheets (auto-compiled via Express middleware)
  • Bootstrap 3 + Flat UI + iOS7 Theme
  • Contact Form (powered by Mailgun or Sendgrid)
  • Account Management
  • Gravatar
  • Profile Details
  • Change Password
  • Link multiple OAuth strategies to one account
  • Delete Account
  • Forgot Password
  • API Examples: Facebook, Foursquare, Last.fm, Tumblr, Twitter, PayPal, and more.

这些都是当你要做一个项目的时候都必不可少,却又和项目的business logic没有太多关系的功能。所以,使用它能帮你省下很多时间。

然而,本文的目的并不在于鼓吹nodejs的开发者使用这个repo作为你的project starter,因为我自己也是刚刚接触它,尚未真正了解它的能力 —— 尽管它有5300多个star为其背书,但将一个自己未使用过项目就此撰文力推给大家使用,并不是我的作风。

我的建议是:每个开发者需要有自己的project starter。

如果你翻看我的github repo,从去年起,我的所有django project都似乎从一个模子里出来的:它们有相同的layout,相同的css template,甚至还有一致的makefile和deploy configuration。没错,我使用的是我个人的project starter,这样,我的每一个新的django项目都能快速进入到核心的产品功能开发中。

Project starter可以来源于你自己的某个项目,也可以是github上某个repo的clone,就像本文中提到的hackathon starter。它出自何处并不重要,重要的是你对其代码融会贯通,烂熟于胸 —— 这就是为何我不太推荐拿来主义的原因,大部分即拿即用的项目,我们未必能,或者,会,去研究它的全部。即使要拿,也要努力将其搞懂,删减不需要的功能,使其成为你自己的独立发展的project starter。

Project starter需要与时俱进。如果说你的项目是流水线上的一个个产品,那么,project starter本身就是流水线。你需要定期清理污垢,注入润滑油,让它保持在最佳状态。其实我没有一个专门的project starter,但如果可能的话,每一个新项目都以最近完成的某个项目为project starter。最近完成的项目往往涵盖了最新的技巧与best practice。

用不用专门的project starter,就像OOP中class based OOP与prototype based OOP之争,各有优缺点,使用上因人而异,自己用着顺手就好。

最后,不要勉强使用project starter。屠龙宝刀不是万能的,必要时,你也需要唐门暗器。

原文发布于微信公众号 - 程序人生(programmer_life)

原文发表时间:2014-02-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏轮子工厂

Linux系统的前世今生

上世纪六十年代,人们还在用批处理计算机,也就是一次性给一批任务到计算机,然后等待结果,中途不能和计算机进行交互,而且准备作业需要耗费大量时间。于是1965年,贝...

11720
来自专栏腾讯大讲堂的专栏

昨夜,你可是朋友圈人生赢家?

听说昨晚,全人类都在微信朋友圈做同一件事——找广告,由此引发了如下惨绝(dou)人寰(bi)的一幕幕: ? ? ? ? ? ? ? ? ? ? ? ? 文章转载...

222100
来自专栏FD的专栏

Effective Testing with RSpec 3(介绍)

我们的测试再次被打破!”“为什么套件需要这么长时间才能运行?”“无论如何,我们从这些测试中获得了什么价值?”

14120
来自专栏Android 技术栈

《云阅2.0》一款同时看玩安卓和干货集中营资讯的App

《云阅》一个仿网易云音乐UI,使用Gank.Io及豆瓣Api开发的开源项目 在云阅发布第一版之后,大约经过了近两年的时间,不断的更新迭代,现在已经完成了2.0...

21350
来自专栏顶级程序员

2018年4月份GitHub上最热门的Java项目

4 月份 GitHub 上最热门的Java项目排行已经出炉啦,在本月的名单中,也有新面孔出现,如蚂蚁金服开源的基于 Spring Boot 的研发框架 SOFA...

16740
来自专栏EAWorld

从Netflix的Hystrix框架理解服务熔断和服务降级

伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前,其实大多数概念以前就有,但很少被提的这么频繁。想起有人总结的一句话,微服务架构的特点就是:“一解释...

57460
来自专栏nimomeng的自我进阶

《2016中国移动开发者大会》参会笔记

总的来说,2016年的综合场(第一天上午)感觉讲的一般,身边的人吐槽也比较多。不过相比之下,iOS场干货就比较多了,演讲者基本都是圈内大V,包括喵神,Sunny...

13320
来自专栏平凡文摘

Java 虚拟机:什么是 Java

15740
来自专栏圆方圆学院精选

【董天一】IPFS家族(一)

IPFS这个项目其实很大,并不像大家想象的是一个东西,IPFS是由很多模块组成,每一个模块现在都已经独立成项目了,并且有自己的主页。让我们来简单看一下IPFS家...

27410
来自专栏玉树芝兰

如何用正确的姿势发微信群通知?

人数众多的微信群里,你如何管理通知发放进度?想不想使用更高效的办法发通知?本文推荐给你一款小程序,帮助你轻松搞定微信群通知。

21210

扫码关注云+社区

领取腾讯云代金券