问题标签 [design-guidelines]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 设计指南:RecyclerView 中的重复项
复制项目的设计准则是RecyclerView
什么?
我已经实现了以下手势:
- 向右滑动:删除项目
- 点击:打开另一个带有项目详细信息的 Activity
- 长按:重新排序项目
我复制项目的想法:
- 向左滑动:我想如果没有我告诉他,用户永远不会知道。另外,对我来说似乎并不直观
- 双击:我听说这违反了准则
- 长按:没有问题,因为它是为触发重新排序操作而保留的
- 带有事件的项目中的单独(按钮)视图
onClick
(似乎合法,但如果任何项目有一个事件,则会弄乱设计(因为冗余)RecylcerView
。默认情况下使此按钮不可见并触发它出现也不会有效或在我眼里很直观。) - ???
我应该怎么办?
请不要介意这些示例中的数据。这只是测试数据。
当前设计:
使用附加按钮进行设计(只是为了说明我的观点,没有最终设计):
在我看来,一遍又一遍地使用相同的按钮是多余的。它只是看起来不太好。
如果你愿意,可以现场观看。
ios - 标签栏控制器中的工具栏
我是IOS界面设计的新手,我很好奇我是否可以将工具栏放在选项卡中,以及这是否不违反指导方针。我想要完成的是有两个带有工具栏的选项卡,用于保存数据、擦除和快速加载(两个选项卡相同)。
我也想知道如何在视觉上做到这一点,如果我应该将部分放在视图顶部,标签和工具栏在底部,或者将其堆叠在底部。
我正在使用故事板。
swift - 如何在 Swift 中编写可测试的代码
因此,当我开始对简单的 2 行postNotification
and进行单元测试时,我的这个问题就开始了addObserver
。从这里的类似问题中,您可以看到要使其可测试,您需要添加约 20 行代码,并与编写代码的常用方式分开。
面对这个问题,其实是我第一次明白单元测试和TDD的区别。如果您的代码是可测试的,即如果您遵循 TDD 思维方式,则单元测试很容易。接下来我被带到了如何编写可测试的代码,我没有找到太多的指导方针,每个教程都只是跳到编写单元测试。苹果自己的文档对此一无所知。
我最初的想法是,我需要以“函数式编程”为目标,并以纯函数的方式编写函数。但话又说回来,这非常耗时,可能需要对现有代码进行大量重构,甚至对于新项目也需要大量添加行,我什至不确定这是否是正确的方法。是否有任何建议的指南或标准以简单的方式编写可测试的代码?
我自己已经知道的:我知道你不应该写任何代码,除非有一个测试让它失败,所以基本上我必须先写测试,一旦我得到一个错误,甚至是编译器错误然后我将不得不切换回正在测试的实际类,编写任何必要的内容并使我的测试代码不给出任何错误,然后切换回测试类并继续编写我的测试并修复编译错误,直到完成。然后运行测试,看看它是否检查了我想要检查的内容。
对于所有测试,我应该确保我的测试会在我预期失败的地方通过和失败,即测试会在预期失败时通过。
我不知道如何以更简单的方式使流程变得顺畅。
我不是在询问如何为 NSNotificationCenter 编写可测试的代码,我是在询问编写可测试代码的一般准则。
android - ImageButtons 的材料设计指南是什么?
Material Design Guidelines 是怎么说的ImageButtons
(不是切换按钮)?
我在这里找不到任何关于它们的信息:https ://material.google.com/components/buttons.html 。
- 他们应该怎么看?
- 什么时候应该使用它们,什么时候?
- 他们应该如何表现?
示例:我有左/右导航按钮来切换天数,我想知道它们是否符合 Material Design。
typescript - 将自定义“东西”添加到类型定义的推荐方法,例如 globals.d.ts
我正在寻找一种扩展或更改现有类型定义的“最佳实践”方式。
我最近发现有一种这样的“最佳实践”可以扩展 lib.d.ts。它被称为 globals.d.ts。 https://basarat.gitbooks.io/typescript/content/docs/project/globals.html
但是,据我所知,该文件仅用于扩展 lib.d.ts。
所以我的问题是。扩展例如 lodash.d.ts 的“最佳实践”是什么?
目前我只有一个my-project.ts
在根文件夹中
这样做需要我使用自己的接口。因此,当我想使用我的一个 lodash mixin 时,我必须使用 ILoDashWithMixins 而不是 LoDashStatic。
有用。但我想以“正确”的方式来做。
android - 我们如何在android中使用布局有什么限制吗?
我为我的应用程序创建了一个好看的布局,但我在线性布局中使用了相对布局(根据我的需要)。
这个可以吗?我的团队合作伙伴告诉我,这不符合 android 指南,这会使应用程序在搜索中失败。
所以基本上,我们应该如何使用布局有任何 限制吗?当应用程序在 Play 商店中时,Google 是否会监控这些代码。
这是代码(必须在编辑后放入)
angular - 下载 Angular 风格指南中的 Heros 示例应用程序
在Angular Style Guide中,所有示例都使用了 Hero 应用程序。我很想下载该应用程序的工作版本,因为我想完整地浏览它,因为我通常通过查看工作代码来快速学习。
我在页面上查看了下载链接,但找不到。英雄之旅教程看起来不一样,Github 上的这一篇也是如此。
有人可以指导我到这个应用程序的可下载工作版本吗?
c# - 为什么一个类型不应该依赖于其包含的命名空间中的类型?
也发布在这里,但没有真正的学术答案: 为什么命名空间类型不应该依赖于嵌套的命名空间类型?
如果我理解正确,重点是类型Product.Business.Modules.Module
可以依赖于Product.Business.Product
,但不能反过来,因为Product
它是Module
. 但是,看看我的项目结构,我违反了这个准则:
但是,我想扩展这个问题。
- 我在哪里可以找到支持该指南的支持信息?
- 为什么这是不好的做法?
- 让类型依赖于具有相同包含命名空间的其他命名空间的类型是否有效?(例如
Product.Business.Security
,取决于类型Product.Business.Modules
?
从某种意义上说,违反该准则会创建一种循环命名空间依赖关系,但我想更多地了解该准则的原因,而不仅仅是一揽子声明。我能找到的唯一其他信息来自链接的 Msdn 文章。这实际上可以显着改变类库的架构和布局。
ios - UITabBarController 切换标签指南
根据指南使用“非选项卡”而是使用其他一些控件(如按钮)切换选项卡是否正确?