提高公司编码风格标准的最佳方法是什么?我们在这里以C#为例.
我想开发人员之间需要考虑很多差异.具体的可能是教育,经验和过去的编程语言.
一个人如何证明某事物是正确的呢?
一个人可能会说" 我把我的身体移到我用四轮车赚钱的地方 ".那么为什么说" 我开车上班 "更为"正确"呢?
有些人可能希望代码更明确,代码更多.有些人可能会喜欢更严格的代码
// Explicit
string text = defaultValue;
if (string.IsNullOrEmpty(text)) {
text = fallbackValue;
}
// Tighter
string text = defaultValue ?? fallbackValue;
Run Code Online (Sandbox Code Playgroud)
或者旧的保护性编程风格,在开始时检查错误情况,而不是将整个方法体包装在正的if子句中:
public string ChangeText(string text)
{
if (!string.IsNullOrEmpty(text))
{
// Do a lot of stuff
}
else {
throw new Exception();
}
}
// vs.
public string ChangeText(string text)
{
if (string.IsNullOrEmpty(text)) {
throw new Exception();
}
// Do a lot of stuff
}
Run Code Online (Sandbox Code Playgroud)
旧的"我有阅读此代码的麻烦"在这里有效吗?这与将Generics引入C#的情况相同,人们在阅读它时遇到了初步的麻烦.
某些开发人员不习惯的不可读代码和代码之间的界线在哪里?
Phil Haacks" 新语言关键词悲伤的7个阶段 "的哪一部分在这里有效点? …
为什么UTF-8不是GitHub的默认编码?
这是否意味着从默认的"cp1252"改变有任何缺点?
它与在Windows和Mac OSX之间跨平台使用GitHub有什么关系吗?
问题来自使用GitHub,但一般可以询问Git.
我主要在.NET,HTML5和Javascript中进行开发,如果这在主题中很重要的话.
如何使用文本字符串(应该是F#-code)并将其解析为F#-code,以在屏幕上打印出结果?
我猜它可以通过.NET中的一个功能来解决,所以它可以通过F#本身或C#来完成.
这可能在tryfsharp.org上以什么方式解决?
压缩ASP.NET ViewState内容的最新和最好的方法是什么?
这个表现怎么样?保持页面快速并最小化数据流量是否值得?
我怎么做:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUKMTM4Mjc3NDEyOWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgkFLGN0b
DAwJENvbnRlbnRQbGFjZUhvbGRlcl9NYWluQ29udGVudCRSYWRCdXQxBSxjdGwwMCRDb250ZW50UGxhY2VIb
2xkZXJfTWFpbkNvbnRlbnQkUmFkQnV0MQUsY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyX01haW5Db250ZW50J
FJhZEJ1dDIFLGN0bDAwJENvbnRlbnRQbGFjZUhvbGRlcl9NYWluQ29udGVudCRSYWRCdXQyBSxjdGwwMCRDb
250ZW50UGxhY2VIb2xkZXJfTWFpbkNvbnRlbnQkUmFkQnV0MwUsY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyX
01haW5Db250ZW50JFJhZEJ1dDQFLGN0bDAwJENvbnRlbnRQbGFjZUhvbGRlcl9NYWluQ29udGVudCRSYWRCd
XQ0BSxjdGwwMCRDb250ZW50UGxhY2VIb2xkZXJfTWFpbkNvbnRlbnQkUmFkQnV0NQUsY3RsMDAkQ29udGVud
FBsYWNlSG9sZGVyX01haW5Db250ZW50JFJhZEJ1dDXz21BS0eJ7991pzjjj4VXbs2fGBw==" />
Run Code Online (Sandbox Code Playgroud)
进入这样的事情:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUKMTM4Mjc3N==" />
Run Code Online (Sandbox Code Playgroud) 我需要能够在 C# 中搜索大约 200 万个项目的集合。应该可以在多个字段上进行搜索。简单的字符串匹配就足够了。
使用像数据库这样的外部依赖不是一种选择,但使用内存数据库就可以了。
主要目标是做到这一点内存高效。
集合中的类型非常简单,没有长字符串:
public class Item
{
public string Name { get; set; } // Around 50 chars
public string Category { get; set; } // Around 20 chars
public bool IsActive { get; set; }
public DateTimeOffset CreatedAt { get; set; }
public IReadOnlyList<string> Tags { get; set; } // 2-3 items
}
Run Code Online (Sandbox Code Playgroud)
明确重点和要求:
使用简单List<T> …
有没有简单,智能的方法来保持客户端和服务器端验证规则的同步?
在客户端,我们有JavaScript,可能是某种框架,如jQuery或YUI.
在服务器端,我们有ASP.NET WebForms或ASP.NET MVC.
验证的是:
等等.
有没有办法从服务器获得具有预先填充值的HTML视图,然后让AngularJS将这些值读入其中$scope?
我在想一个HTML是这样的场景:
<div ng-controller="TestController">
<div ng-bind="title">Test Title</div>
<div ng-bind="itemCount">33</div>
<div ng-repeat="item in items">
<div ng-bind="item.title">Item 1 Title</div>
</div>
</div>
<button ng-click="update()">Update</button>
Run Code Online (Sandbox Code Playgroud)
JavaScript就是这样的:
function TestController($scope) {
$scope.update = function() {
console.log($scope.title); // Should log "Test Title"
};
}
Run Code Online (Sandbox Code Playgroud)
这背后的想法是让服务器呈现搜索引擎可以索引的 HTML ,但是具有用于通过JS操纵的内容的JavaScript模型表示.
我需要一个采用Action(或Func)的方法,但Action有一个混合数量的参数.实现这些重载的最直接,最紧凑的方法是什么:
public void Execute<T>(Action<T> action, T param) {
// TODO: Implement something like:
// Execute(action, param, null);
}
public void Execute<T1,T2>(Action<T1,T2> action, T1 param1, T2 param2) {
// TODO: Implement something like:
// Execute(action, param1, param2, null);
}
public void Execute<T1,T2,T3>(Action<T1,T2,T3> action, T1 param1, T2 param2, T3 param3) {
DoStuff();
action(param1, param2, param3)
DoMoreStuff();
}
// OR any other type of higher order function-solution
public void Execute(Action action, params object[] parameters) { ... } // ???
Run Code Online (Sandbox Code Playgroud)
除了执行操作及其参数之外,方法的内容完全相同.
如果可能,请不要使用任何特定于C#4.0的功能来解决此问题.
使用Open XML for Excel DocumentFormat.OpenXml.Spreadsheet,如何仅将文本的一部分设置为粗体?
var cell = new Cell {
//DataType = CellValues.InlineString,
CellReference = "A" + 1
};
// TODO: Set "bold text" to bold style
//var inlineString = new InlineString();
//inlineString.AppendChild(new Text { Text = "Normal text... bold text..." });
//cell.AppendChild(inlineString);
Run Code Online (Sandbox Code Playgroud)
注释掉现在使用的代码,但应该或可能应该更改.
我见过rustup被称为“工具链安装程序”,但很难找到 Rust 认为“工具链”是什么以及该概念的范围是什么的确切定义。
我已经安装了 Rust 编译器和 Cargo。还能rustup带来什么?它只是一个 Rust 版本切换器吗?
作为 .NET 开发人员,也许有一个相似之处可以让我更容易掌握这个概念?
c# ×4
.net ×2
asp.net ×2
action ×1
angularjs ×1
coding-style ×1
compression ×1
encoding ×1
excel ×1
f# ×1
func ×1
git ×1
github ×1
in-memory ×1
openxml ×1
openxml-sdk ×1
optimization ×1
overloading ×1
parameters ×1
parsing ×1
performance ×1
rust ×1
rustup ×1
seo ×1
toolchain ×1
validation ×1
viewstate ×1
webforms ×1