首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何评价一段代码

经常有人微信问我,什么样的代码才算是好代码。这个问题其实见仁见智,业内也没有统一的标准可以使用。我仔细梳理了一下自己评价代码的方法,总结了五个评价指标。...你这里的规模说的是代码的规模,也就是解决同样问题的程序包含的代码行数。如果单从这个因素讲,那一定是代码规模越小越好。但规模越小往往就会让代码本身的复杂程度变高,影响可读性。...[] p; 没有嵌入式经验的人一定会问,这段代码申请了一段空间后什么也没做就释放掉了,这不是画蛇添足吗。...其实,这是一段容错代码,就是为了保证系统中有足够的空间供后面的代码执行。 是不是想想就很可怜,程序运行中突然发现内存不够了,不得不停掉。 4 可读性 ?...铁打的项目流水的程序员,一段可读性差的代码对项目而言很可能意味着灭顶之灾。 对于初学者,代码规范这个要素必须非常重视,如果错过了这个培养良好习惯的黄金时期,后面再改就很难了。

67990
您找到你想要的搜索结果了吗?
是的
没有找到

简化一段javascript代码

在实际的项目中,我们经常会有如下的需求: 从一个map中获取某key的值,如果发现对应的key的值为null,则为该key创建一个值(一般为初始值),然后把这个值存回到map中,代码如下: var value...= map[key]; if(value == null){ value = ""; map[key] = value; } 但是总感觉这段代码很恶心,为啥,太啰嗦,太长...var value = map[key]; if(value == null){ value = map[key] = ""; } 去掉if判断 如果把if判断,改成三元运算符,可以减少代码...= "") : value; 如果用 || 符号,看起来更加方便: var value = map[key]; value = value || (map[key] = ""); 当然,这两行代码...,最终可以合并成如下代码: var value = map[key] || (map[key] = ""); 至此完成,最终5行代码简化成一行代码

57330

一段能让 VisualStudio 炸掉的代码

本文告诉大家如何使用一段代码炸掉 VisualStudio 请不要在正式环境使用这个代码 创建一个空白的 dotnet core 程序,当然,其他的项目也可以 然后输入下面代码 static...void Main(string[] args) { var foo = new string('\u0483', 550); } 在代码里面添加一个断点...可以看到你的 VS 已经变颜色了 因为这是 WPF 的一个已知的坑,通过 TextBox 显示这个字符串就会 gg 的问题 代码 https://github.com/dotnet-campus/wpf-issues...既然你看到问题了,不要只是喷,你自己修啊 另外,这个坑在 UWP 居然不会让 UWP 炸掉,只是让他的显示有些诡异 步骤: 创建一个 xaml 界面,在里面添加一个 TextBox 元素 在后台代码给这个...TextBox 设置上面的字符串 下面是 xaml 代码 <TextBox x:Name="Txt" HorizontalAlignment="Center"

55520

浅谈ASP.NET客户端回调

因为现实界面的代码是复制过来的,并且前辈使用的是拼接字符串,然后绑定到页面的。没有使用ASP.NET服务器控件,所以要做点击图标,然后删除的事件,与我们平时开发有所不同了。...解决起来就是,之前的原生态的HTML代码都删除掉,然后重新写代码。同学自己就是用的这种方式,这种方法便于理解,容易修改出来。...2.使用AJAX+Handler,就是用Ajax调用一个asp.net handler处理,handler处理的好处是,结构和代码进行了分离,这种方式也是容易接受。...3.使用ASP.NET自身的回调函数。...在MSDN实例中,客户端回调给出了一个解决方案:项目中需要在客户端使用JavaScr操作后台的C#代码,然后它底层实现这些原理,而这些原理都封装好了,我们按照它提供的接口和结构去实现就好了。

2.8K100

asp dotnet core 支持客户端上传文件

本文告诉大家如何在 asp dotnet core 支持客户端上传文件 新建一个 asp dotnet core 程序,创建一个新的类,用于给客户端上传文件的信息 public class KanajeaLolowge...public string Sha { get; set; } } 这个类包含两个信息,一个是 File 文件,另一个是文件校验,这个类可以随意命名,属性也可以随意命名,只要在客户端可以相同...KanajeaLolowge file) { return Ok(); } 在这个函数添加特性 HttpPost 里面的参数就是访问链接,如上面的代码...Upload(FileStream fileStream, string sha, string url) 在这个方法上传文件,通过 MultipartFormDataContent 构造一个 Form 请看代码...Stream 可能是内存流,这时就无法拿到文件名,需要用户传入 下面的值是传入一个 Key value 的值,这里的 key 是 "Sha" 值是 sha 的值 创建一个 HttpClient 上传 Form 代码

6.3K20

asp dotnet core 支持客户端上传文件

本文告诉大家如何在 asp dotnet core 支持客户端上传文件 新建一个 asp dotnet core 程序,创建一个新的类,用于给客户端上传文件的信息 public class KanajeaLolowge...public string Sha { get; set; } } 这个类包含两个信息,一个是 File 文件,另一个是文件校验,这个类可以随意命名,属性也可以随意命名,只要在客户端可以相同...KanajeaLolowge file) { return Ok(); } 在这个函数添加特性 HttpPost 里面的参数就是访问链接,如上面的代码...Upload(FileStream fileStream, string sha, string url) 在这个方法上传文件,通过 MultipartFormDataContent 构造一个 Form 请看代码...Stream 可能是内存流,这时就无法拿到文件名,需要用户传入 下面的值是传入一个 Key value 的值,这里的 key 是 "Sha" 值是 sha 的值 创建一个 HttpClient 上传 Form 代码

5.1K20

Asp.Net控件的客户端命名

我们在用ASP.NET写出来的网页,用浏览器来查看生成的客户端代码的时候经常看到这样的代码:GridView1_ctl101_WebUserControl1_webuserControlButton,那么这个命名有什么规律...本次我们使用Reflector查看.net的代码研究其中的规律。...我们的ASP.NET服务器端控件在生成客户端控件的时候一般有id 和name两个属性,这两个属性我们在服务器端可以通过ClientID和UniqueID来得到。...找到Control类下面的ClientID属性,查看其代码如下: public virtual string ClientID {     get     {         this.EnsureID..._cachedUniqueID;     } } 这段代码中,最重要的就是GenerateAutomaticID()函数和namingContainer.GetUniqueIDPrefix();函数。

2.4K10

asp:UpdatePanel客户端回传事件管理

asp:UpdatePanel客户端回传事件管理 Asp:UpdatePanel是在Asp.Net WebForm中的一个局部刷新控件,虽然很好用,但是在使用过程中却发现如果局部刷新的数据需要再次使用页面...Sys.WebForms.PageRequestManager类 管理服务器 UpdatePanel 控件在浏览器中的部分页更新,并通过使用客户端脚本定义属性、事件和方法以自定义 Web 页。...这个是因为当我们点击搜索按钮之后,新获取的数据被呈现在页面上,但是我们初始化表格样式的javascript代码并没有再次执行,所以我们的表格样式会出现下面的这种情况: 如果我们需要通过javascript...add_endRequest 很明显,当我们的UpdatePanel每次回传过程中,这几个被注册的事件都会先后执行,我们可以在add_pageLoaded或者add_endRequest中加入我们渲染表格的代码...,我这里就在add_endRequest里面加入这段代码: prm.add_endRequest(function (sender, args) { console.log('add_endRequest

3.6K30
领券