没有严格的时间表的时间管理,开发移动应用程序的经验

时间计划,控制,提高效率。 这个话题很老套,但是我敢于提供另一个解决方案。


我还没有找到适合所有人的通用时间管理方法。 通常,每个人都为自己选择最适合他的做法。 这不仅与角色的特征有关,而且与作品的特征有关。

对我来说是这样的:我已经准备好了,开始调教,开始工作,然后-“要么海豹先叫,然后鹿”。 归根结底,人们普遍感觉不清楚他在做什么以及结果如何。

一想到,“那太好了,他们打给你,就像在下棋一样 我按下按钮并停止工作时间,恢复工作-按下另一个按钮。 结果,您将得到他工作了多少以及休息了多少。” 我称这种方法-国际象棋时间管理,或简称为ChessTM。

不难猜测,这个想法立即扩展为在一天中为每个任务设置按钮的想法。 然后,所有这些都转化为时间管理的概念。

概念图


时间不能停止。 我们总是花时间。 而且,如果我们正在与某人做某事,那么显然您不能同时保持效率不变地做其他某事。 在任何时候,都会进行某种活动-完成任务,进行体育运动,散步,运动,饮食,睡觉等。

假设数字1


要控制时间管理的需要。 要管理时间,您需要能够控制时间。 原理-只需按一下按钮(从字面意义上而不是隐喻意义上),我们就选择当前活动,并且上一个活动的时间将自动停止并开始为当前活动计数。

假设2


管理需要计划。 要管理时间,您需要能够计划时间。 在任何给定时间,我们都有共同的任务库和一些紧急事项。 在完成任务或紧迫事项时,我们会进行一项活动。 计划是假设我们要从事哪些活动。 对计划的传统理解涉及固定的行动顺序。 通常很难观察到固定的顺序,有时是由于客观原因,有时不是很好的原因。 偏离计划会使您感到紧张,并降低工作效率。 我们将休息视为闲置,感到内,,工作效率下降,满意度下降。 为避免上述问题,我们将不会计划各种类型的课程的顺序,而是计划在一天中为活动分配的时间。
您可以在几分钟内计划。 也就是说,计划过程如下所示-我们从总库中选择当天的任务,并为它们设置计划时间,我们将在这些时间上花费这些时间。

假设3


管理时间意味着计划与现实融合。 当然,白天可能会发生变化。 也许事实证明,该计划与现实背道而驰。 假设为活动Tp计划的时间(计划时间),在活动Tr上实际花费的时间(实际时间),这些时间之间的差称为差系数Td(时间增量)。 我们将计划质量Qp(计划质量)视为所有差异系数的总和占总计划时间之和的百分比,然后从100中减去。

Qp=100\% fracTd1+Td2+ ldots+Tdi+ ldots+TdnTp1+Tp2+ ldots+Tpi+ ldots+Tpn100\%

也就是说,事实证明,在散度系数为零的情况下,规划质量为100%。

Android应用


如果我还没有决定实现用于此概念的工具,那么这篇文章就不会出现。 我想分享这种经验。

这样啊

实施ChessTM应用程序。

在您的空闲时间的晚上和周末实施。 我以发布经理的身份工作,并且未以任何方式与android开发进行连接。

功能:

  1. 创建任务池
  2. 计划每天的任务时间
  3. 转移前一天的计划
  4. 轻松切换任务
  5. 统计资料

    • 生命周期在任意时期相对于总体计划花费的总时间
    • 报告任务,每个任务计划多少以及实际花费了多少
    • 有关该期间任务切换和计划质量因子的统计信息
  6. 按生活部门(工作,家庭,朋友等)和标签分配任务

主要思想是使这种与应用程序交互的机制尽可能少地执行。 一键使一切变得简单。

它的实现方式如下-有一个屏幕和三个选项卡,您可以通过saip进行导航:

  • 当前存在所有可用任务的任务池;
  • 每日计划,其中设置了计划的任务时间;
  • 控制,我们从一个任务切换到另一个任务并计算时间。


接下来,我想关注发展本身的时刻。 我希望我的经验对新手开发人员有所帮助,并且专家可能会告诉您在组织开发过程中可以改进的地方。

开发基础设施


我想马上进行开发。 因此,它是持久的,不会被宠坏和遗弃。 因此,我想组织一个整体的基础设施,包括:

  • IDE(集成开发环境);
  • 代码存储库;
  • 任务跟踪器;
  • 文献资料
  • 测试。

集成开发环境


AndroidStudio虽然可以争论,但是在我看来,拥有所有丰富的选择,没有其他选择。 关于如何放置,如何启动,如何注册开发人员等有很多准则。 我认为,这里的一切都很简单,没有特殊建议,只需按照说明进行操作即可。

代码存储


选择了Git作为代码存储系统。

选择标准很简单-一个流行的现代系统,拥有庞大的开发人员社区,大量资源以及完善的文档资料。 如您所见,这些标准并不完全是技术性的,但是当您是新手开发人员时,社区和许多关于stackoverflow的答案都是一个大胆的加法。

Bitbucket被选为远程存储:

  • 免费;
  • 允许您创建私有和开放存储库;
  • 允许您创建一个团队来使用不同级别的访问权限;
  • 有自己的简单任务跟踪器。

任务追踪器


也就是说,选择位桶还可以提供任务跟踪器的存在。 乍一看,似乎当您自己编写应用程序时,不需要任务跟踪器,但这样认为是一个错误。 任务跟踪器进行组织。 允许您制定计划。 如果其他人连接到该项目,则无需寻找任何东西,但是在没有任务跟踪程序的情况下进行联合开发,则一无所获。 是的,bitbucket中的跟踪器不是完美的,但是它可以近似地解决主要问题。

文献资料


对于决定使用readthedocs.io的文档:

  • 免费系统,可让您以Sphinx格式发布文档;
  • 与bitbucket(以及许多其他工具)集成,也就是说,您可以将文档源存储在bitbucket中,并且它将在每次提交时自动收集,您可以说持续集成文档-这非常方便;

不幸的是,该文档现在并不完全正确。 但是在那时,她的写作很有益处。 因此,我强烈建议向开始他们的项目的每个人编写文档-这样可以使他们的想法井井有条,并阐明项目的愿景。

测试中


测试是一个巨大的主题,您可以找到很多与此主题相关的材料。

我在应用程序中有一个模型级别,其中执行了所有数学和计算。
因此,我决定专注于测试此特定软件模块。

为此,我使用JUnit4 。 测试在设备上运行。

测试是模型主要类别的单元测试。

创建一个测试数据集,并因此以已知结果调用模型类的所有功能。

根据经验,我可以说以下几点:

  • 测试对于捕捉回归非常有帮助;
  • 有时,当您开始自己使用这些功能时,就会发现设计/体系结构错误,即使您自己编写该功能,头部的工作方式也会有所不同。
  • 保持测试的最新状态,现在我很后悔没有这样做,因为应用程序的容量已经很大,而且并非所有细节都可以保存在内存中,并且不幸的是,一些可以在单元测试阶段检测到的回归标准已经投入生产。 因此,有了顽固而迟钝的毅力-“让测试保持最新状态!!!”

架构与实施


本节的实质是讨论为初学者学习什么,以便能够像本应用程序中那样实现功能。

在旅程的开始,主要的问题是不清楚从哪里开始以及在哪个方向思考。 如何做以及如何做错。

对于初学者,我建议从一本书开始。 本书的优点在于信息是系统化的,并且以这种方式开始要容易得多。

我个人是从“ Android编程”开始的。 对于专业人员” B. Hardy,B。Phillips。 一般来说,我可以推荐它。 也许现在它在某些地方已经过时了,但是很有可能开始。

我还建议您收听Android编程上的各种播客。 当然,并不是所有事情都一目了然,但您可以了解趋势并了解该采取哪种方式。 特别是,我偶尔会在apptractor上收听androiddev

至于架构本身,我试图实现一种内部逻辑与显示器最大分离的方法。 事实是,在初始阶段,并未彻底考虑所有内容,因此您需要能够在不重写整个代码的情况下更改“数学”(工作逻辑)。

例如,在我的应用程序中,就任务/活动而言,主要本质是“活动”。 工作的整个逻辑是对活动的操作:开始活动,结束活动,设置活动参数,计算时间间隔的统计信息等。 我做的这个逻辑

进入一个单独的类结构


任务列表包含在ActionsManager类中,并且通过此类的功能可以对其进行所有访问。 也就是说,在应用程序中的任何地方,对任务的所有操作都通过ActionsManager类执行。

数据库对象在应用程序对象中初始化。 其他所有人都从这里获取对象,而不是每次都创建一个新对象。

在这里,我可以提供这样的建议-将逻辑分为不同的类。 了解设计模式-无需在已有解决方案的情况下发明自行车。

GUI基于ActionBarDrawerToggle。 刚开始使用ActionBarSherlock ,虽然对每个人来说并不坏,但是后来我与其他组件的兼容性出现问题,因此我改用标准的Google组件(菜单,标签,具有动态数据加载功能的列表等)。

在了解应用程序的过程中,除了标准的android组件外,还使用了以下内容:


营利


  • 该应用程序本身是完全免费的,并且没有广告。
  • 计划随着时间的推移添加各种付费选项。
  • 目前,这是一个无限制的统计模块。
  • 可以查看当天的所有统计信息,但是要在任意时间段内执行此操作,您需要无限制地购买模块。
  • 事实证明,现在有了卖方的帐户,一切变得更加容易。
  • 就我而言-储蓄银行有一个帐户,我通过在线储蓄银行开设了一个美元帐户,并将其链接到我的帐户-一切都非常简单。 是的,这是一个不错的功能,一段时间以来,Google一直在从1美元起开始转帐。

PS:
最后,向所有初学者或想要开始的人传达信息-不要害怕困难,不要害怕,逐步,逐步,您将成功!

Source: https://habr.com/ru/post/zh-CN429490/


All Articles