RT 自制力不够。。。写写停停。。。效率颇低,遂来此一问~
#3 楼 @Levan 我有个个人的建议,自己做的第一个项目就冲着失败去,不要试图第一次就追求完美,否则你的第一次永远都写不完。至于你想问的原则,我要说的确有,但是不一定适合你(这个也不是绝对的,也许以后水平高了又会觉得适合了)。等你完整的写了一个应用之后,适合你的原则自然而然就成型了,而且你还会很清楚的知道该朝哪个方向进一步改善。
比如说 "outside in BDD" 就是普遍推荐的开发原则,但是对于一个从未完整做出过应用的初学者来说,没有人指导真的很难做到严谨的 "outside in",我觉得 ok 啊,遵循不了那是能力问题,先跳过一下下也不是不可接受的。如果你真的认同这些原则,那就尽可能去做,做不了就跳过。
“完美主义”是“事物发展初期”的大敌,因为完美主义者通常都比较“娇气”,而做事情在初始阶段总是充满了“陷阱”,完美主义经常会陷入到自我的挣扎中去而无法自拔。所以我的建议是在这个阶段忘掉追求完美的浪漫情怀,把自己武装成”泥腿子“去斗争吧,顺利的存活过这个阶段,一切就会逐渐明朗起来。
哦,至于你主楼的问题,我认为从哪里开始都可以,这不是问题。如果你的目标是做一个有用的,好用的应用,那么重要的不是从哪里开始(从哪里开始都不会影响最终的结果),而是你把这件事真的想清楚了,理解透彻了。
===补充===
因为我猜楼主是用 Rails 写应用程序的,所以忍不住再说几句。
我认为 Rails 真正的魅力在于:快速实现想法,灵活应对变化。对于你的项目来说,Rails 很可能不是最适合的开发框架,也很有可能不是最终(完全)采用的开发框架——如果你的应用能顺利的渡过快速增长期的话。所以在开始阶段去精雕细琢是得不偿失的。
Rails 本身为我们提供了很多拿来就用的工具和机制,尽管你时常听别人说“Rails 自带的 xxx 不好,xxx Gem 比他更好……”,或者“Rails 的 M/V/C 不够 xxx,应该这样 xxx...”等等,我想说的是, 他们讲的没有错,但是对你来说不重要。 你还没完整的把想法实现呢,在乎那些“增强/优化/最佳方法论”有何意义?
快速实现想法,灵活应对变化——这才是 Rails 的核心价值,什么性能劣势,功能缺陷都没有关系,你有足够的时间和工具去解决它们,前提是你得有能用来解决的平台,即——你的产品!否则一切都是纸上谈兵。
那些告诉你 Rails 哪里哪里不好,什么什么更好的人,他们的观点来源于自身的经验,他们渡过了产品的诞生和初期发展阶段,摸爬滚打之后总结了这些东西,但是并不适合你啊!你和他们最大的差别就是,你连枪都没开过,就已经琢磨他们怎么在战场上枪枪爆头了……
还是那句话:快速实现想法,灵活应对变化。这是 Ruby 和 Rails 带给你的最宝贵的财富。
@nightire 哈哈哈哈!感谢大哥一路伴随左右(略肉麻,不过算实话)~~~ 看到“完美主义”是“事物发展初期”的大敌
都快哭了~经常为了完善一个页面的 UI 为了几个 px,折腾了大半天。。。等过了两个小时突然惊醒自己到底是为了什么而调整的。。。
行吧,那还是先不管那么多,勉勉强强做出一个来,再看大家怎么说吧,谢啦~
提个小建议。可以用纸,随时可以丢。纸不要太大。用纸的好处是你可以把多个页面放在一起,然后可以用箭头表示跳转。 推荐 BDD,就算是不能严格执行,也能知道自己要干什么,这样可以节省很多经历,避免浪费与不必要的事情。 TDD 有一点规则就是要写最少的能使测试通过的代码。感觉敏捷开发中,迭代很重要。就是要时刻有能跑的代码,然后再更改(写的更好或者加功能)。所以没必要一次成型。
要做一个新功能可以先 mockup 一下,这样子你会对需求理解的更清楚,而且会可视化的明确下一步要干什么,target 有了再开始实现 function。