优美的代码:do...while(0)】的更多相关文章

分享一下学习新语法的技巧:用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Syntax- 让Xcode帮我们把Swift2.3的代码转换为Swift3.0. 手动调出Xcode自动转换Swift2.3 到 Swift3.0 弹出语言版本选择界面,选择Covert to Swift3,Next: AAB5FC3D-3EF2-43D5-9328-C00E33B3109D.png 进入选择模块界面: 选择模块界面 建议只选择自己创建…
1.背景 最近再看一个开源代码的时候,看到很多宏经常这么写的: #define XXX do{\ ...\ }) 一眼看到的时候就知道这一份代码执行一次,那么do...while还有什么意义呢?在查阅了很多资料之后,才发现,do...while(0)用处太多了,所以在这里总结一下. 2.总结 2.1 辅助定义多语句宏 如果我们定义下列宏: #define DOSOMETHING()\ foo1();\ foo2(); 这个宏的本意是,如果调用DOSOMETHING(),那么就执行foo1()和f…
续前文浏览器插件实现GitHub代码翻译原型演示, 通过调用浏览器插件-离线英汉词典的批量查词接口, 实现了源码的初步命名直译. 源码库仍在: program-in-chinese/webextension_github_code_translator 还缺失的功能: 驼峰命名法拆分. 比如图中所示, BasicCalculator未翻译. 语言关键词词典.js. 內建词典包括常用关键词, 以及Java和Python的专用关键词: var 通用关键词 = { 'assert': "断言"…
TableGo v6.0.0 版震撼发布,此次版本更新如下: 1.UI界面大改版,组件大调整,提升界面功能的可扩展性. 2.新增BeautyEye主题,界面更加清新美观,也可以通过配置切换到原生Java主题. 3.新增合并增量更新功能,并能指定代码中哪些代码块动态更新,哪些代码块不更新. 4.新增文件更新方式配置,可根据需要使用增量更新和覆盖更新. 5.新增保存全局参数和自定义文件的JSON参管理功能. 6.生成自定义文件新增JSON参数配置,可以灵活定义各种参数并能将代码直接生成到项目源码目录…
很多人写的博客大家看了会一知半解,不知道怎么用,应该引用什么类库或者代码不全,这样很多小白很是头疼,尤其是尝新技术更是如此.我们这边不止告诉你步骤,而且还提供开源demo.随着时间的推移,我们的demo库会日益强大请及时收藏GitHub. 1.首先你需要Nuget引用类库 Install-Package ZKWeb.System.Drawing -Version 2.创建公共类VerifyCodeHelper和CommonHelper (1)CommonHelper中添加图形处理方法 #regi…
[摘要] PyTorch是最优秀的深度学习框架之一,它简单优雅,非常适合入门.本文将介绍PyTorch的最佳实践和代码风格都是怎样的. 虽然这是一个非官方的 PyTorch 指南,但本文总结了一年多使用 PyTorch 框架的经验,尤其是用它开发深度学习相关工作的最优解决方案.请注意,我们分享的经验大多是从研究和实践角度出发的. 这是一个开发的项目,欢迎其它读者改进该文档:https://github.com/IgorSusmelj/pytorch-styleguide. 本文档主要由三个部分构…
我们的富文本编辑器不能没有图片上传尤其是截图上传,下面我来教大家怎么实现MarkDown富文本编辑器截图上传和图片上传. 1.配置编辑器到html页 <div id="test-editormd"> <textarea id="articleContent" style="display: none;">@Html.Raw(Model.Context)</textarea> </div> 2.初始化…
大家好,欢迎来到 9 月版的 Visual Studio Code Java 更新.在这篇文章中,我们将分享我们最新的Gradle插件,更加方便的代码操作(Getter/Setter等等),以及最近的1.0 Language Server发布. Language Server for Java 1.0 正式发布 最近,Language Server for Java 的1.0版本在 Visual Studio Code上正式发布了! 这是一个Visual Studio Code上Java支持上重…
<form action="flow_myTaskList"> <input type="hidden" name="approval" value="true"/> <!-- 表单操作 --> <div id="InputDetailBar" style="float:none"> <!--onclick事件在submit之前触发-…
如图所示,实现类似与gmail的下拉刷新. 项目地址:https://github.com/stormzhang/SwipeRefreshLayoutDemo 一.在xml文件中定义 这个控件在supportV4就提供了,叫做SwipeRefreshLayout.这个view其实就是一个父控件,我们可以如下定义. <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/a…
KindEditor使用JavaScript编写,可以无缝的于Java..NET.PHP.ASP等程序接合. KindEditor非常适合在CMS.商城.论坛.博客.Wiki.电子邮件等互联网应用上使用,2006年7月首次发布2.0以来,KindEditor依靠出色的用户体验和领先的技术不断扩大编辑器市场占有率,目前在国内已经成为最受欢迎的编辑器之一. 然而很多人缺为在Asp.Net Core中的使用在发愁,于是这个开源Demo就这样产生了,那么我现在给各位介绍下它的快速使用吧! 一.前端配置…
/*! * Cloudgamer JavaScript Library v0.1 * Copyright (c) 2009 cloudgamer * Blog: http://cloudgamer.cnblogs.com/ * Date: 2009-10-15 */ var $$, $$B, $$A, $$F, $$D, $$E, $$CE, $$S; function wr(text, ap) { if (ap) { document.getElementById("WriteDiv"…
英文原文:CoffeeScript: The beautiful way to write JavaScript 我用 JavaScript 编程很多年了,写了大量的 JavaScript 代码,即便是我这样的经历,但我仍然还在努力地去写出更优美的 JavaScript 代码,在这篇文章中,我将探索为什么写出漂亮的 JavaScript 代码是如此困难,如何使用CoffeScript(一种简约且能编译成 JavaScript 的语言)改善它. 什么是优美的代码? 我想从个人观点来声明如何定义优美…
switch-case语句是我们编码过程中常用的一种分支语句.然而正所谓成也萧何败萧何,每当我们向一个已经拥有了成百上千行的switch-case代码段中添加新的case分支的时候,我们是否有过为代码的可读性和可维护性不断下降而头疼烦恼呢. 事实上,我们可以有很多方法来避免出现这种分支有多又长的switch-case代码段,从而写出更优美的代码.在.Net中我们可以非常简单地分解switch-case中的代码. 下面选择了一个比较常见的例子:模块采用switch-case来处理接收到的Comma…
转载自http://developer.51cto.com/art/201601/503802.htm 面向对象的语言更接近人的思维方式,而且在很大程度上降低了代码的复杂性,同时提高了代码的可读性和可维护性,传统的 C 代码同样可以设计出比较易读,易维护,复杂度较低的优美代码,本文将通过一个实际的例子来说明这一点. 基础知识 结构体 除了提供基本数据类型外,C 语言还提供给用户自己定制数据类型的能力,那就是结构体,在 C 语言中,你可以用结构体来表示任何实体.结构体正是面向对象语言中的类的概念的…
续前文: Chrome插件实现GitHub代码离线翻译v0.0.4 添加了对"码云"在线代码的翻译支持, 因此改名暂为"一马". 在此贴中调研了常用的在线代码网站: 各位都在什么源码站上在线看代码? - V2EX, 暂未发现其他. 注: 此插件调用浏览器插件-离线英汉词典 0.0.7进行查词, 因此也不依赖任何在线翻译服务, 不存在API调用限制. 改进功能: 支持"码云"代码翻译 添加 C/PHP 关键词的翻译 删除释义中的括号内内容 &quo…
续前文Chrome插件实现GitHub代码翻译v0.0.3. 添加了对驼峰命名的支持. 由于调用浏览器插件-离线英汉词典进行词汇翻译, 因此也不依赖于任何在线翻译服务. Chrome插件: 官网链接 支持所有编程语言 因为并不需要对源代码进行语法分析(之前Java源码英翻中进展-内测上线中使用了语法分析, 工作量大很多), 因此原则上已经支持所有编程语言的源代码. 但对一些编程语言效果更好, 见下面效果. Java: 源码来源 Python: 源码来源 C: 源码来源 接下去添加C的关键词翻译后…
MarS Board提供的出厂Linux内核是3.0.15的.而Freescale的BSP都早已经更新到3.0.35.为了跟上节奏,我花了点时间把关于marsboard代码从3.0.15移植到了Freescale的内核3.0.35-4.0.0分支.   首先从freescale官网下载代码库: git clone git://git.freescale.com/imx/linux-2.6-imx.git git checkout imx_3.0.35_4.0.0 比较Embest和Freesca…
        从5月份開始[从0開始Tornado建站]这个专栏,開始一点一点把这个分类兴趣站点弄起来,从无到有的过程也是令人兴奋的:-) 国庆的时候等待备案然后上线,如今站点域名为ustchacker.com, 欢迎增加,一起分享代码和点子,能够提问题共同进步- 如今的代码版本号是0.9(我自己定的.. .由于还在完好中),希望能依靠开源的力量打造出一个分类兴趣站点的模板式框架! 托管在GitHub上: https://github.com/littlethunder/ustchacker.…
研究如何使用Markdown你们可能要花好几天才能搞定,但是看我的文章或者下载了源码,你搞定一般在10分钟之内.我先给各位介绍下它: Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档.Markdown 语言在 2004 由约翰·格鲁伯(英语:John Gruber)创建.Markdown 编写的文档可以导出 HTML .Word.图像.PDF.Epub 等多种格式的文档.随着它的越来越流行我们的网站自然不能落后,那么我来教大家怎么配置使用吧! 实现效果如图: 1…
基础知识 结构体 除了提供基本数据类型外,C 语言还提供给用户自己定制数据类型的能力,那就是结构体,在 C 语言中,你可以用结构体来表示任何实体.结构体正是面向对象语言中的类的概念的雏形,比如: typedef struct{ float x; float y; }Point; 定义了一个平面坐标系中的一个点,点中有两个域,x 坐标和 y 坐标. 结构体中的域称为结构体的成员.结构体中的数据类型可以是简单数据类型,也可以是其他的结构体,甚至结构体本身还可以嵌套,比如,一个标准的链表结构可以进行如…
在虚拟机上模拟redis5.0的集群,由于redis的投票机制,一个集群至少需要3个redis节点,如果每个节点设置一主一备,一共需要六台虚拟机来搭建集群,此处,在一台虚拟机上使用6个redis实例来模拟搭建一个伪分布式的redis集群. 1.安装ruby 搭建redis集群需要ruby脚本,需要安装ruby的环境 (1)yum install ruby (2) yum install rubygems 2. 创建一个集群的目录 3. 复制编译安装好的redis节点 进入redis01目录,删除…
看到.NET 6 Preview 1 发布,里面"除了 XAML 热重载之外,还将支持 C# 代码的热重载"一句,觉得有必要试试看,因为XAML热重载功能用起来确实很爽. 首先要下载.NET6.0的sdk.我的步骤如下: 打开一个老项目, 右键单击当前项目,选择属性 下载完成后安装. 测试热重载 新建控制台项目,目标框架选择.NET6.0(预览) 修改Program.cs为如下代码 using System; namespace ConsoleApp1 { class Program…
"我报名参加金石计划1期挑战--瓜分10万奖池,这是我的第2篇文章,点击查看活动详情" 你好呀,我是居家十三天只出了一次小区门的歪歪. 这篇文章是来填坑的,我以前写文章的时候也会去填之前的一些坑,但是由于拖延症,大多都会隔上上几个月. 这次这个坑比较新鲜,就是之前发布的<没有二十年功力,写不出这一行"看似无用"的代码!>这篇文章,太多太多的朋友看完之后问出了一个相同的问题: 首先非常感谢阅读我文章的朋友,同时也特别感谢阅读的过程中带着自己的思考,提出有价…
准备 相信各位对python的语言简洁已经深有领会了.那么,今天就带大家一探究竟.看看一行python代码究竟能干些什么大新闻.赶紧抄起手中的家伙,跟我来试试吧. 首先你得先在命令行进入python.像下面一样. 1> python2Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 08:06:12) [MSC v.1900 64 bit (AMD64)] on win323Type "help", "copyright&q…
规范参考源: 1.pep8(python代码样式规范):中文文档      https://blog.csdn.net/ratsniper/article/details/78954852 2.pep257(python文档字符串相关约定):文档地址    https://github.com/qiuxiang/pep/blob/master/peps/257.md 3.pep20(python的禅宗) :文档地址  https://www.python.org/dev/peps/pep-002…
1.System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 开始监视代码运行时间 // 需要测试的代码 .... stopwatch.Stop(); // 停止监视 TimeSpan timespan = stopwatch.Elapsed; // 获取当前实例测量得出的总时间 double hours = timespan.TotalHours; // 总小时 double minutes…
Centos6.2代码 CentOS 6.0没有默认没有装语言支持(Language Support),因此很不方面. 终于发现了有效的方法: su root yum install "@Chinese Support" exit 最后一步:logout,注意是注销,然后再次登录此用户. 当然这里安的是拼音输入法.…
代码生成器进行了改进,针对Oracle数据库生成更优美的代码.这样生成出来的代码,更像微软的风格,更像C#.NET的标准规范,阅读起来也更优美.把Oracle表字段名默认大写, 有_分割等进行了优化,这样用我们代码生成器生成的代码,阅读起来,更顺眼.更能拿得出手了.代码生成器生成代码效率高.规范性强.错误少.质量可靠. EF 生成的 Oracle 底层数据库的SQL语句性能不能有保障.在大并发大用户时会有很多不确定因素.甚至优化起来工作量大,所以在 Oracle 上自己生成底层代码还是很有必要的…
举个例子: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 #include<iostream> using namespace std; class cylinder {     friend istream operator>>(istream& is,cylinder &cy); public:         inline doub…