小编Wys*_*wyg的帖子

承包商改变代码风格

我目前支持的工作应用程序最初由一个四人小组编写,但现在已经减少到仅仅我.我们最近有一个承包商,在我忙于其他事情的时候看一些性能问题.

虽然承包商似乎在表现上做得很好,但他们也经历了大量的代码,取代了原有的风格,并取决于他们的个人偏好.

遗憾的是,我们没有编码标准文档,只是遵守c#一般规则的一般规则.

作为他们所做的一个例子,它包括:

  • 删除几乎所有'var'关键字的用法
  • 在任何带有if语句和单行的地方,他们都添加了花括号
  • 删除大多数lambdas并用更详细的代码替换它
  • 更改方法签名,以便每个参数都在一条单独的行而不是一行

我们还运行TDD策略,但测试覆盖率,特别是性能特定部分的测试覆盖率非常低,几乎没有关于它们已经改变的文档的记录,并且因为它们的签入注释不是特别有用而且实际的功能变化使它变得更难在大量的'调整'中迷失了.

我如何与承包商讨论此事?显然,由于他们没有责任支持该项目,因此他们没有太多动力来改变它,他们似乎并不特别容易接受改变.

或者我应该在合同的短期内忍受它,然后将所有内容更改回我们之前使用的代码格式?

制作社区维基'cos在这里可能没有一个正确的答案.

c# coding-style

8
推荐指数
2
解决办法
1040
查看次数

NSIS安装程序 - 显示不同的许可证

我正在尝试修改现有的NSIS安装脚本,以允许向用户呈现不同的许可证文件,具体取决于他们是新用户还是现有用户.我有预先存在的代码,用于检测.onInit部分中的现有安装.

然而,我正试图使用​​NSIS提供的许可证屏幕,例如

!InsertMacro MUI_PAGE_LICENSE Content\Licence.rtf
Run Code Online (Sandbox Code Playgroud)

我希望能够在License和Licence2.rtf之间进行选择(尽管它们将在最终版本中重命名为代表).

我尝试使用可调节的部分调用嵌套!insertmacro的函数,但这不起作用,因为它需要在脚本的基本级别.

我无法将参数更改为运行时可定义,因为它需要在编译时知道文件是什么,以将其构建到安装程序中.

我知道我可以滚动我自己调用的自定义页面,并按照这种方式进行操作,但我想知道是否有人使用MUI_PAGE_LICENSE和不同的许可证使NSIS安装程序工作.

谢谢

nsis

6
推荐指数
2
解决办法
3459
查看次数

SQLite 虚拟表匹配转义字符

我正在研究索引存储在 SQLite FTS3 虚拟表中的应用程序。我们正在实施全文匹配,这意味着我们通过以下查询发送:

select * from blah where term match '<insert term here>'
Run Code Online (Sandbox Code Playgroud)

这一切都很好,直到我们想要匹配的术语包含一个连字符,以防 SQLite 虚拟匹配语法将 bacon-and-eggs 解释为 bacon, not and, not Eggs。

有谁知道使 fts 表忽略连字符的转义字符?我尝试添加 ESCAPE '\' 子句并在每个连字符之前使用 \,但 match 语句拒绝该语法。

谢谢。

sqlite full-text-search

3
推荐指数
1
解决办法
2912
查看次数

标签 统计

c# ×1

coding-style ×1

full-text-search ×1

nsis ×1

sqlite ×1