我正在尝试提出一个清单或一组问题/标准来评估和评估建议或紧急架构(执行架构评审).在尝试规划,评估或审查架构时,您提出了哪些最重要的问题?
我知道这是一个很大的主题,所以我想将它限制在一个端到端的系统而不是整个组织的架构.
Code Complete提供了一个不错的起点:
建筑
- 该计划的整体组织是否清晰,包括良好的架构概述和理由?
- 模块是否定义良好,包括其功能和与其他模块的接口?
- 是否合理地列出了要求中列出的所有功能,既没有太多也没有太少的模块?
- 该架构是否旨在适应可能的变化?
- 是否包含必要的购买与构建决策?
- 该体系结构是否描述了如何使用重用代码以符合其他体系结构目标?
- 是否所有主要数据结构都隐藏在访问例程之后?
- 数据库组织和内容是否合理?
- 所有关键算法都是描述和证明的吗?
- 所有主要对象都是描述和证明的吗?
- 是否描述了处理用户输入的策略?
- 描述和证明处理I/O的策略是什么?
- 是否定义了用户界面的关键方面?
- 用户界面是否模块化,以便其中的更改不会影响程序的其余部分?
- 内存使用估计和内存管理策略是否被描述和证明是合理的?
- 架构是否为每个模块设置了空间和速度预算?
- 是否描述了处理字符串的策略,是否提供了字符串存储估计?
- 是否提供了一致的错误处理策略?
- 是否将错误消息作为一组来管理以呈现干净的用户界面?
- 是否指定了稳健程度?
- 是否有任何部分过度或不足?该领域的期望是否明确规定?
- 是否明确说明了主要的系统目标?
- 整个架构是否在概念上挂在一起?
- 顶级设计是否独立于将用于实现它的机器和语言?
- 是否提供了所有重大决策的动机?
- 作为实施系统的程序员,您是否对架构感到满意?
我正在寻找具有实例的实践知识,例如,您创建的建筑中最痛苦的点是什么?
现在最终支持iphone/ipad开发的块,这些是否完全消除了委托的需要,或者代理仍然更清洁作为完整的接口实现,而块更适合单个任务?
我不是在谈论bug跟踪软件(如Bugzilla或Jira).我正在寻找一些东西:
我正在使用漂亮的fullCalendar jQuery插件.
我希望能够在每个事件中都有标题和详细信息,如下面的屏幕截图所示:

这里的细节是每个会话的参与者.(隐藏在细节上的溢出)
我正在构建二进制分类问题的模型,其中我的每个数据点都是300维(我使用300个特征).我正在使用sklearn的PassiveAggressiveClassifier.该模型表现非常好.
我希望绘制模型的决策边界.我怎么能这样做?
为了了解数据,我使用TSNE在2D中绘制它.我通过两个步骤减少了数据的维度 - 从300到50,然后从50减少到2(这是一个常见的推荐).以下是相同的代码段:
from sklearn.manifold import TSNE
from sklearn.decomposition import TruncatedSVD
X_Train_reduced = TruncatedSVD(n_components=50, random_state=0).fit_transform(X_train)
X_Train_embedded = TSNE(n_components=2, perplexity=40, verbose=2).fit_transform(X_Train_reduced)
#some convert lists of lists to 2 dataframes (df_train_neg, df_train_pos) depending on the label -
#plot the negative points and positive points
scatter(df_train_neg.val1, df_train_neg.val2, marker='o', c='red')
scatter(df_train_pos.val1, df_train_pos.val2, marker='x', c='green')
Run Code Online (Sandbox Code Playgroud)
我得到了一个体面的图表.
有没有办法可以为这个图添加一个决策边界,它代表我模型在300昏暗空间中的实际决策边界?
我现在已经在两个不同的团队中工作过,这两个团队在过去两年中使用了Agile/Scrum方法,两个团队都渴望改进他们处理软件开发的方式.在第一个团队中,我们可以轻松地说服我们的产品所有者花时间处理内部事务,例如改进构建系统,设置更好的集成测试,更好的发布策略等.现在PO也愿意给我们时间,但是他更加努力,这是合理的,因为他也必须完成他的事情.
无论如何我现在的问题是,其他团队如何处理这个问题?你是否创造了一个改进故事并在规划期间把它放在桌面上,或者你为这些事情保留了一大堆时间?在您的体验中说服产品所有者有时间改进是多么困难?经过所有这些改进将有利于团队,但不是直接或立即产品所有者/业务.
我正在使用PyCharm Community Edition 4.0.4,我想为"在路径中查找"的范围设置默认选项.
目前,按Ctrl-Shift-F("在路径中查找"命令)会弹出一个选中"所有项目"的窗口,我希望将"目录"设置为默认的自定义目录.这是一张图片:
我在"设置"中搜索了类似的内容,但找不到它.任何帮助表示赞赏.
更新:我最近发现通过右键单击我的项目文件夹并选择"在路径中查找..."(我的意思是实际上单击该选项),将自动为项目目录设置范围!奇怪的是,右键单击项目文件夹在下拉菜单中指示的键盘快捷键与我使用的完全相同.但是,使用快捷方式会为Scope生成"所有项目"选项...
在任何情况下,我仍然希望为"在路径中查找"对话框设置一个默认目录 - 最好是一直使用的目录,无论对话框是如何被调用的(快捷方式,单击下拉选项).
我使用了WordPress博客和Screwturn Wiki(在两个独立的工作岗位上)存储私人的,公司特定的KB信息,但我正在寻找创建的知识库.具体来说,我想看看:
我喜欢使用Wordpress博客,因为它允许我使用Live Writer添加/编辑文章和图像,但它没有页面版本控制(我可以看到).
我喜欢使用Screwturn wiki,因为它能够跟踪文章版本,我喜欢它的外观干净,但是一些非技术人员对输入和编辑感到不满.
这可能是之前被问过的,但我找不到任何使用搜索系统的相关帖子.
我正在寻找一个可以托管自己博客的网站.不幸的是,我发现在我们自己的stackoverflow上找不到那种具有代码块友好性的东西(不是你必须手动将<和>转换成<和>).
如果答案是"没有,呃!",我被判安装我自己的博客软件,那么我应该将哪一个用于"编码器博客" - 知道我希望它是超简单的建立.
谢谢.
我最近阅读了Code Complete,它建议我在实际编码之前创建一个项目规范.
这本书没有详细说明"规格"是什么,以及它们是如何制作的.因为这是软件开发的关键部分,所以我想知道如何创建并非过于详尽的质量规范.
哪里可以了解有关软件规格的更多信息?或者Code Complete中列出的任何其他先决条件?
agile ×1
architecture ×1
blogs ×1
data-science ×1
delegates ×1
fullcalendar ×1
hosting ×1
ios4 ×1
javascript ×1
jquery ×1
plot ×1
pycharm ×1
python ×1
rendering ×1
requirements ×1
review ×1
scikit-learn ×1
scrum ×1
testing ×1