Category: 折腾
没有单元测试的工程就不是好工程, 至少不是大工程. 在 Visual Studio 里可以很方便的进行单元测试的创建和运行. 下面的教程是基于C#但是也可以很容易的应用到其它语言,比如 C++. // Example: How to Create Unit Tests // helloacm.com using System; namespace ClassLibrary1 { public class Class1 { public int GetEven() …
.NET 语言可以通过写 LINQ 语句来使程序变得简洁. 感觉 LINQ 就点像 SQL 语句. 大部分情况下, 写 LINQ 和用 ForEach 写出来的在执行效率上没有区别, 但是我们需要注意的是, 比如下面这种情况: var test = Enumerable.Range(1, 100); var a = test.Where(n => n%2 == …
今天又一次出差到公司总部LUTON. Sheffield 到 Luton 距离 132 英里, 每个小时都有一班火车, 早上5点到7点和下午4点到6点都是高峰期, 票价特别贵(2倍, 差不多得200英镑). 8点之后就是 Off Peak (90英镑, 可以选择一个月任意 Off peak 时间返回), 9点之后就更便宜 Super Off Peak (60英镑, 也是一个月任意 Super Off Peak 返回). …
最近在做代码审查 Code Review 并顺便使用了商业的软件 Resharper (Visual Studio 的插件, 有 30 天试用) Resharper 一个很好的功能就是能把没有用的代码变灰, 这样哪几行代码没有用就一目了然. 像这行代码, Resharper 很清楚的提示说没有用, 因为 activeTool 是枚举类型, 和 null 判断永远为 false, 这样 if 里面的代码就永远不可能被执行, 所以标记成灰的了. 这个函数不是我写的(模块也不是我负责的), …
在 HTML4.01 可以使用 target=”_blank”, 但 XHTML1.0是不被允许的. <a href="document.html" target="_blank">Open in New Window</a> 在 XHTML1.0 需要用 rel=”external” 属性. <a href="document.html" rel="external">Open in New Window</a> 当然这是符合 XHTML 1.0 strict 标准规范, 而且你不要忘记在文件头声明文档类型: …
最近在评估公司需不需要一个 Visual Studio 的插件: Resharper. Resharper 是商业软件, 而且价钱不便宜, 一个一套 License 是200 镑左右. 这插件的目的就是把 VS 变得更强大好用. 比如以下C#代码将一个列表拷贝到另一个(只是演示用) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { …
我很久之前练手PHP和MYSQL做了一个长网址变短的小工具(免费) https://rot47.net/_url/. 添加记录的表单在: https://rot47.net/_url/add.php 这样还是太麻烦, 因为用户还得拷贝和粘贴网址, 为了方便, 在PHP程序里支持从URL参数里获取想添加的长网址, 比如可以这样使用: https://rot47.net/_url/add.php?p=https://helloacm.com 然后, 我们就可以把下面HTML+JAVASCRIPT的代码放到页面上, 让用户添加成标签(可以直接把这个链接拖到上面的快速标签栏) <a rel="nofollow" href="javascript:(function(w,d){var u=d.location.href;w.open('https://rot47.net/_url/add.php?p='+encodeURIComponent(u))}(window,document));" target="_blank">把这个拖到你的浏览器书签栏</a> 如果你右键编译这个书签, 大概会出现这个窗口(以下是Chrome 浏览器) 这样做的好处是, 用户哪天浏览一个页面, 就可以直接点这个标签, 然后就会在新窗口把这个链接自动的填到表单里, 让其变短并分享. 未压缩的 Javascript 代码就比较简单明了: …