首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何评价一段代码

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

    71390

    简化一段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行代码简化成一行代码

    60630

    一段能让 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"

    57920

    浅谈ASP.NET客户端回调

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

    2.9K100

    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.4K20

    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.2K20

    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.5K10

    一段困扰许久的防注入代码

    有段时间一直热衷于研究各种waf绕过,一般来说,云WAF可以通过找到网站真实IP来绕过,硬件waf也常因为HTTP协议解析差异导致绕过,但是,代码层的防护往往只能从代码逻辑里寻找绕过思路。...在一些网站通常会在公用文件引入全局防护代码,因此,我收集了网络上常见的PHP全局防护代码进行分析。...第一次看到safe3的防注入代码,花了不少时间去研究如何绕过,我在笔记里记下了一句话:如果正面怼正则,实在想不到绕过的方式。...直到前几天,我在T00LS论坛里看到有人也问起了同一段防注入代码的绕过方式,在这个帖子的回复了看到了一个绕过姿势。这也正是安全社区最大的魅力,你总会在别人的回复里找到很有意思的思路或技巧。...测试情况 (1)safe3 防注入代码 <?

    96010
    领券