2012-02-24 21 views
0

我需要帮助提出一个良好的命令来构建一个Web应用程序。我正在Django中构建它。它是一个网络应用程序,它具有诸如投票,喜欢,创建列表,评论等许多事情。为了简化构建多平台web应用程序,为了让我的选择在未来保持开放,我正在考虑构建网站“API up ”。Web项目设计,以什么样的顺序构建东西?

不确定我是否使用正确的术语,但基本上我想使用REST构建所有功能部件,例如,喜欢一个评论将是url.com/api/like/commentID/user/Pass其中用户传递是可选的,因为它可以使用Web会话,如果它有。一旦我构建了函数(比如,注释等),我就计划在api之上构建视图和模板(例如类似的按钮就像api一样是一个简单的href函数)。

我觉得这有点不同于我的典型方式,因为我通常必须为api类型的事物创建多个方法,并且为view/templates表单等提供多个方法。

基本上,我问,将建立一个网站上的API的顶部是一个好主意?

+3

从来没有过的URL密码。 – 2012-02-24 16:33:16

+1

是的。你还想了解你的方法吗?这不是一个“技术”问题,可能属于Programmers.StackExchange.Com – 2012-02-24 16:53:19

+0

这是一个很好的计划。不过,我不认为在这个领域重新发明车轮是明智的。 django-tastypie(https://github.com/toastdriven/django-tastypie)是一款出色的API应用程序,可以很好地为您的项目提供服务。 – 2012-02-24 17:01:39

回答

5

Keep it simple and stupid

首先写一个简单列表user stories - 不要过度设计你的项目。按应用分组。尽量在很​​多应用程序中划分你的项目,但不要太多。

控制复杂性是计算机编程的本质。 - Brian Kernigan

Pinax或类似的东西开始你的项目。这样您就可以获得所有的用户管理/设置/注册/ etc/etc等功能。 你现在可以开始专注于什么使你的网站不同

调试比编写代码要困难一倍。因此,如果您尽可能巧妙地编写代码,那么根据定义,您的智能不足以进行调试。 - Brian W. KernighanP. J. PlaugerThe Elements of Programming Style

代码的第一个应用程序的第一个版本,这应该包括少数机型,网址,视图模板和staticfiles。

有构建软件设计的两种方法:一种方法是让它尽量简单,让人看不出明显的缺陷和另一种方法是做起来很复杂,让人看不出明显的缺陷。 - C.A.R. Hoare, The 1980 ACM Turing Award Lecture

推迟其不适合编码的标准的Django方式的特征(例如,需要的黑客,代码膨胀,等等。)。尽可能依靠外部应用程序,改进它们而不是重新发明轮子。

生命太短,无法运行专有软件。 - Bdale Garbee

对其他应用程序进行编码,如果事情太复杂,请再次尝试使它们保持简单,然后将其推迟。

最便宜,最快,最可靠的组件是那些不在那里 - Gordon Bell

你应该再有你的项目的第一个工作版本。你这样做的时候已经过去了。根据剩余的时间量,决定您推迟哪些功能对于第一个发布最为重要

计算科学家面临的主要挑战是不要让由他自己造成的复杂性困惑“ - E. W. Dijkstra

做的第一版本,至少私人,你的项目应该是在生产你应该有成功地在最后期限由现在的代码应该是举止优雅,在简化代码以某种方式实现的用户故事设置一个滚动发布系统 - 。这是使一个脚本,可以从测试推到生产。

乡亲,说实话。鲟鱼是一个乐观主义者。 方式超过90%的代码是胡扯“ - Al viro

现在您准备在更复杂的东西的工作,但不要忘了:您的网站的使用(用户和业务。模型)现在应该能够支配的重点你应该有一个健全项目,通过自身现在的发展

这是关于我们的行业一件奇怪的事:。我们不仅没有从错误中学习,我们也不学习f rom我们的成功。“ - 基思·布雷斯韦特

+1

+1:大引号! – 2012-02-24 17:39:03

相关问题