代码改变世界

最近做一个网站过程中产生的一些想法和疑问

2011-01-22 01:59  onm  阅读(164)  评论(0编辑  收藏  举报

简介

这个网站是一个独立博客程序的博客聚合网站,是一个非常小众的Web应用。想法源自一些人的讨论,曾希望有人参与开发,但最终我孤家寡人编码维护。 2010年11月06日动手,由于我不是美工,加之之前站点UI的失败,为此我特意看了几本Web设计的书。最终借用了Wordpress的Motion主题。开发平台使用Google App Engine,语言Python,框架Django,RCS使用Git,GitHub托管。主要利用平常的闲暇时间开发。

探索

由于不知道使用这个博客程序的博主们是否对这个概念满意。我最开始做了“博客秀场”(展示博主博客缩略图)的原型,挂到网上,祈求反响,情况较为乐观。 然后编码将原型实现,遇到了第一个重点。参与模式,我想了很久,最终和别人讨论确定为“博主自己添加的方式”。 后来事实证明不是很好,但明面上没有改动,暗地里我加了个管理员添加方法,自己手动添加了一些。然后通过我不耻上问,得到一些反馈,一些人表示这玩应还要我自己添加啊,还有人表示添加起来繁琐。 几经思索,考虑到人都是懒惰的,并且他们并不像我这样对这个站点充满热情与热爱,持续多次的几经删减,注册起来终于简单了许多。当然这一段都是后话了。 虽然没人光顾和参与,但是开发还要继续,然后实现了“文章聚合”(聚合所有博客的文章)。从一定程度上来说这个功能比较实用,之后又添加了“聚合订阅”功能。但是情况依然不好,想想确实不是很好,以我自身感觉来说,确实是文章数量较多,且文章分类广泛,很多我不关心的内容。 后来为了调动大家积极性,我又添加了“博客投票”,“文章推荐”功能,最近又添加了投票和推荐“邮件通知”博主的功能,但是现实是一样的,很少有人进行操作。 中间项目停止过一个月,由于那时候有很多事情要处理,加之appspot被墙和没什么人气,热情减退。 再后来,我又开动了。先是修正了一些积攒的Bug,然后进行了一些的代码重构和一些站点概念变更。重构主要是做了消除几个应用之间混乱的关系,问添加新的应用铺路。概念上变更主要是将分类概念去掉,改为Tag,一些名称上的改动。然后对性能做了一些优化,添加了一些热门东西的memcache,将一些任务分解使用Task Queue机制完成。然后对可用性做了一些小的调整,如字体,鼠标移动距离,提示等。 最近又做的一个“成员聊天”,关于这个的一些技术点和想法,记录在了《基于Google AppEngine的XMPP和Channel Service的机器人+Web群聊的一些实现思路和简介 》里,就不细说了。 整个过程中间还删除了一些应用。删除是基于两方面的考虑,一来一些东西比较冗余,二来性能不好。编码过程中涉及了多次数据模型的变更,写了一些同步方法。经常维护代码,小的变动非常零散繁多

思索

  • 产品核心价值很重要,你的东西是否切实满足了用户的需求。
  • 产品推广营销很重要,东西再好没人知道也是白搭。
  • 关于可用性和产品理念细节很重要,这是决定用户是否能长期关注使用你的东西的动因。
  • 书写有助于思考,确实是这个样子。写这篇东西的时候,想到了一些点子。
  • 用户意见很难同意,做出每个人都喜欢的东西很难。
  • 在对一些技术概念和一些事物理念有了进一步认识和收获。

一些遗憾

  • 没有采用TDD,开发过程中看过一些比较好的开源项目,注意到它们都有单元测试代码,最近看了一些文章,越发感觉单元测试重要,其实测试驱动开发这个概念听了很久,但是一直没有感觉,很多时候想法的转变的最耗时间的,TDD其实学起来应该不难,我写过一次单元测试,感觉还可以。
  • 代码管理的有点乱,提交代码时Comment做的不太好,有的时候提交的Comment没有根据具体更改分开,有的时候比较懒,代码改动完了不提交。
  • 敏捷的一些概念理解不深,行动不彻底,有的时候犯懒,没有频繁迭代。
  • 没有推广手段。
  • 用户反馈后,修改跟不上。
  • 技术不熟练,经常由于一些技术细节耽搁应用上线时间。
  • 被墙很郁闷……

一些疑问

  • 怎样进行站点推广,当然这是个比较大的话题?
  • 对于VCS的提交是否是应该注释明确到单个文件件或者功能分开注释提交?VCS到底怎么用,我一直当代码备份用了。
  • 大型项目是否经常写一些维护代码,还是由于我当初设计不合理导致了很多问题?
  • TDD效果怎么样?是否消耗时间?
  • 敏捷开发到底怎么样,有很多公司采用吗?存在较多技术债务吗?
  • 网站怎么样?代码怎么样?
  • 应该睡前思考一些问题,还是醒了之后思考?睡前思考总容易兴奋睡不着,还有可能早晨半死不活的时候脑袋胡思乱想。醒来之后思考呢,赖在床上不爱起来,还有可能想着想着,睡着了……,比较扯皮的一个问题!

说明