网页项目设计,以什么顺序构建东西



我需要帮助制定在中构建web应用程序的良好顺序。我正在django中构建它。这是一个网络应用程序,它将有很多东西,如投票,点赞,创建列表,评论等。因此,为了在未来保持我的选择,以简化构建多平台网络应用程序的过程,我正在考虑构建网站"API up"。

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

我认为这与我的典型方式有点不同,因为我通常必须有多个方法——一个用于api类型的东西,一个用于视图/模板表单等等。

本质上,我在问,在API的基础上建立一个网站是个好主意吗?

保持简单和愚蠢。

首先写一个简单的用户故事列表-不要过度设计你的项目。按应用程序分组。试着将你的项目划分为多个应用程序,但不要太多。

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

用Pinax或类似的东西开始你的项目。这样你就可以获得所有的用户管理/设置/注册/etc/etc。。。开箱即用您现在可以开始关注是什么让您的网站与众不同

调试的难度是最初编写代码的两倍。因此,如果你尽可能聪明地编写代码,那么从定义上讲,你就不够聪明,无法调试它。——布莱恩·W·柯尼汉和P·J·普卢格在《编程风格的元素》一书中写道。

编写第一个应用程序的第一个版本,其中应包括一些模型、url、视图、模板和静态文件。

构建软件设计有两种方法:一种方法是使其简单到明显没有缺陷,另一种方法则是使其复杂到明显没有不足。——C.A.R.Hoare,1980年ACM图灵奖讲座

推迟不符合Django标准编码方式的功能(例如,需要破解、代码膨胀等)。尽可能依赖外部应用程序,改进它们,而不是重新发明轮子。

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

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

最便宜、最快、最可靠的组件是那些不存在的组件——Gordon Bell

然后,您应该拥有项目的第一个工作版本。当你那样做的时候,时间已经过去了。根据剩余的时间,决定您推迟的哪些功能对第一个版本最重要

这位计算机科学家的主要挑战是不要被自己制造的复杂性所迷惑。"——E.W.Dijkstra

进行第一次发布,至少是私人发布,您的项目应该处于生产阶段,并且您现在应该已经在截止日期内成功。代码应该是优雅的,并且以某种方式在代码中简单地实现用户故事。建立一个滚动发布系统,即制作一个可以从测试推向生产的脚本。

各位,老实说。斯特金是个乐观主义者90%以上的代码都是垃圾。"--Al viro

您现在已经准备好处理更复杂的东西。但不要忘记:您的网站的使用情况(用户和商业模式)现在应该能够决定优先级。您应该有一个理智的项目,它现在自己发展。

这对我们的行业来说是一件奇怪的事情:我们不仅没有从错误中吸取教训,也没有从成功中吸取教训。"——Keith Braithwaite

最新更新