代码之家  ›  专栏  ›  技术社区  ›  Francisco Noriega

所以我想做一个网络应用,从哪里开始?[关闭]

  •  1
  • Francisco Noriega  · 技术社区  · 15 年前

    作为一个程序员,我的第一本能是开始编码,但是每本编程书的第一章都说你不应该坐下来编码。

    所以问题是,从哪里开始?

    我给了这个项目一些想法,它将是一个相当简单的网络应用,一种时间记录应用,给你一个想法。

    虽然这是一个小项目,但我希望它对公共使用质量有很大的帮助,我甚至愿意花点钱让一个设计师为页面做一个合适的外观和感觉。

    这是我考虑过的事情:

    • 它将在ASP.NET MVC中

    • 我想让它死得最厉害
      简单登录(一个La Instapaper,但是
      可以选择执行openid,a 洛杉矶)

    • 应该可以不用 也可以登录,只需会话cookie

    • 它将有几层 可用性,从非常基本到更多 “仪表板”信息跟踪。

    • 网页应该很简单 使用。

    • 计划使用jquery 交互性

    • 将使用linq2sql

    • 我想从主要时间开始 跟踪函数,然后添加其他 并非所有人都想要的工具 使用,但更先进的用户 想要(不不是 特征主义,它们是 真的要去那里 我要做的产品)

    • 如果页面有点成功,我想添加移动应用程序,所以我应该有一些内部Web API?

    那么我应该从哪里开始呢? 类图?应用程序的基本“草图/设计”?工作流程图?任务陈述?

    那之后我该怎么办?什么时候开始编码直到我睡着?

    5 回复  |  直到 14 年前
        1
  •  3
  •   griegs    15 年前

    这个问题有点主观,但下面是对我所做工作的一个非常简短的解释。

    我总是从我的数据开始。我想储存什么以及如何储存?然后我建立我的数据库和索引。

    然后,我创建一个数据层项目,并将数据库导入为Linq2SQL类。

    然后我决定我要签署的第一个功能位。也许输入一个时间。

    然后我在一个测试项目中编写测试用例。然后,我通过在我的数据存储库层中编写代码来通过每个测试。

    然后我写了一个控制器,最后是我的视图。

    然后我继续到下一个故事点或功能部分

        2
  •  3
  •   Nikita Rybak    15 年前

    但是,每本编程书的第一章都说,你不应该坐下来编码。
    我会谦虚地不同意那些书(哪本书,顺便问一下?).

    当然,如果您打算创建更好的Microsoft Word版本,您需要一些相关的经验和一些考虑。但是创建一个只有几页的简单webapp并不是什么大不了的:大多数web框架已经为你提供了架构框架(比如mvc模式),你只需要“填充空间”。

    所以,我的建议是从核心功能开始,一点一点地增长它。忘了类图、任务陈述和那些废话吧:)

    ps在开始之前,检查处理这个问题的现有应用程序可能会很有用:也许您想借用一些想法。

        3
  •  3
  •   naikus    15 年前

    哪本书这么说?我并不总是同意这一点。另外,我也不同意您应该从数据建模开始,尤其是在应用程序具有Web用户界面的情况下。我要做的是:

    • 第一步从用户界面(prorotyping)开始。用HTML或者使用类似的工具 balsamiq 这将使您(以及您的最终用户)了解您在应用程序中需要什么功能。这将驱动您的数据模型和控制器。依我所见 用户界面是应用程序最重要的功能 因为它将直接与用户交互。这个概念经常被忽视。

    • 如果可能,将应用程序分解为模块。例如用户管理(注册、登录、注销、角色)、计时、管理等。

    • 设计数据类或数据模型和数据访问类。用户界面将再次 确定希望数据访问类获取哪些数据等。

    • 使用控制器同时开始执行UI。一个接一个地接受每个模块。

    • 不断改进你的设计。这还包括用户界面。进化并不意味着加入黑客。如果你认为你需要重新设计,那就做吧。

    • 重要事项:写一个简单的最低限度的应用程序(只有最重要的命运)工作得很好。建立在它之上。

    • 读取37信号 getting real 为了灵感

    所以开始编码的好时机是“现在!”

        4
  •  2
  •   mezmo    15 年前

    就我个人而言,我建议用铅笔和一大叠纸。考虑一下您的用例,粗略地绘制工作流程,然后从工作流程中考虑如何在UI中完成。对那些用户界面做粗略的草图,并通过你的纸原型来完成流程。是否会有一些报告功能?您确定已经捕获了要执行此操作的所有数据和功能吗?构建一个原型,记住,原型意味着一些可以被丢弃的东西,所以在一些快速的东西中做,比如Rails或Grails,不确定在.NET世界中模拟会是什么,但是要确保使用了好的开发方法,比如TDD。原型烂了吗?不?

    现在,您已经为第2轮准备好了,将原型重构为您的目标技术,如果它有帮助的话,您可以创建前面提到的所有图表。找到你错过的东西了吗?回到第一步。但最美好的部分,是同时,你有工作软件,至少不吸,而你让其余的去。

    重复,直到你不能再忍受它,或者你足够富有,你可以雇用其他人为你做这件事!;)

        5
  •  1
  •   Lèse majesté    15 年前

    数据建模是必要的,但许多人喜欢首先设计接口。所以在你开始编码之前,先画出你的应用需要的各种接口。界面就是你的产品,而界面的布局也让你更清楚地定义/理解用户故事,在这一点上,你可能已经开发了一个大致的概念。

    这是在像 变得真实 我越来越相信这是启动Web应用程序的最佳方式。您想要建模的数据实际上取决于用户想要对应用程序做什么以及 怎样 他们会去做的。如果你不先弄明白“怎么做”,你最终会设计一个非常笨拙的应用程序,当你最终定义用户交互的参数并相应地重新设计界面时,你必须重新设计你的数据库。在过去,我个人在这个过程中浪费了很多时间,这就是为什么我采用了接口优先的方法。