对于代码规范,不少朋友自己心中也没有个标准,基本都是怎么喜欢怎么来,但是这样并不是一个好的习惯,心中没有标杆,写出来的代码通常会比较难阅读,难以维护,更有可能出现意外的 BUG。
最近看了很多录友在leetcode-master上提交的代码,发现很多录友的代码其实并不规范,这一点平时在交流群和知识星球里也能看出来。
为了更好的学习物联网设备端相关知识和实践,基于之前的 iot hub c sdk 整理并重写了 iot-hub-device-c-sdk
学习 C 语言也许一本 K&R 的《C程序设计语言》就够了,但是在 C++ 世界里,找不到这样一本书。
昨日本该更新文章,是围绕前后端模块的(因为前两天是按计划写linux以及网络模块)。但昨日实在没想出要写什么文章, 心态处在一个尴尬的境地,简单的知识点觉得没必要搬运,但是深入的东西不是花个一天半天就能写的出来,况且现在也有不少朋友关注我,写文章得认真对待,左思右想干脆就没写了。
1) Eclipse CDT介绍 Eclipse是开源的IDE中最流行的一个,它本身是一个JAVA程序,也就是说他可以运行在windows/linux/mac os上。由于Eclipse是采用一种叫OSGi的架构(其实是一种微核模型),所以它可以方便的被改造成编写各种语言的IDE。原生的Eclipse支持的是JAVA语言,但是只要增加一个叫CDT的插件(也是官方的),就可以直接编写C/C++程序。同样你也可以增加插件来编写LUA、PYTHON、FLASH AS3以及其他各种流行语言。现在Eclipse社
我厂很多同学使用VC在windows上编写linux的C/C++程序,然后再传的开发服务器上,然后再编译和调试。如果有修改,可能会直接用vi去改了,然后再把源代码同步回来。其实这样做挺折腾的。也有大神全盘vim设置emacs写,想来也是极好的。 但是,也有另外一个方案,就是在 Linux上安装个写C/C++程序的IDE,这样可以直接编写、编译、运行、上传SVN,非常方便。其实要做到这点,也很简单: 你需要一个虚拟机来运行一个带GUI的LINUX,这样IDE才能运行起来,当然也可以直接在开发服务器上安
在远程工作中,并不是所有项目都是从头开始的,有很多项目是已经做了一部分,或者需要按着其要求来创建项目和编码的。所以这其中就有一些公司或者团队会使用一些代码规范,以保证无论是公司内部还是远程工作的同事都可以保持一致的代码规范,让代码不会过于凌乱。
概述 golang is a better C and a simple C++ golang主要特性 1、语法简单 舍弃语法糖,严格控制关键字 C++语法糖之多,令人发指,而C又太过于底层,容易出现自己造轮子的情况,如何在两者之间取舍,是每一个转向golang的工程师曾经思考过的问题。 golang的出现,就是在C和C++之间的刚刚好的取舍。 2、垃圾回收 golang支持垃圾回收,相比C/C++是一大进步。 c + +由于存在指针计算,即p++、p--等,无法提供垃圾回收功能,而golang虽然有指针,
很早以前,就听说著名的BorlandDelphi开发者,去微软设计了一门伟大的语言C#。但是由于一直都在Linux上做开发,所以无缘拜会。直到最近几年,借手游大潮,Unity3D引擎的流行,终于有机会真正使用一下这门著名的语言。在使用的过程中,不自觉的以前用过的语言Java和C++比较,发现了很多有趣的地方。 C#语言如果简单的来和Java以及C++对比,一句话的结论就是:C++的外表,JAVA的心。为什么这么说呢?原因是C#和Java都是带虚拟机的语言,所以拥有虚拟机的各种好处和缺点。比如它们都带有GC垃
给腾讯所有的程序员三年,可以创造些什么?2018 年“930”是开源协同的起点,这场指尖上的技术热浪,滚滚前行已经三年。从逐步开源的代码,到社区生态的热烈,再到开源灵魂的熔铸,我们努力开源的,不止是技术;我们渴望创造的,不仅是这一代的精彩。 程序员杨晓峰开始体会到一种前所未有的“快感”。 他所在的团队向 OpenJDK 国际开源社区主分支贡献的代码名列国内第一,受到了该开源社区的点名致谢,腾讯也成为迄今为止该社区唯一一家因显著贡献被连续点名致谢的中国公司,两位团队成员获得了社区 reviewer 权限
作者 | 陈其亮 程序员杨晓峰开始体会到一种前所未有的“快感”。 他所在的团队向 OpenJDK 国际开源社区主分支贡献的代码名列国内第一,受到了该开源社区的点名致谢,腾讯也成为迄今为止该社区唯一一家因显著贡献被连续点名致谢的中国公司,两位团队成员获得了社区 reviewer 权限。 迄今为止,在国内公司中有这种权限的程序员,不超过三人。 作为 Java 开发工具 JDK 的专家,杨晓峰的日常工作是普通人不太看得懂的基础软件研发。 2019 年秋,杨晓峰冲着“协同”二字入职腾讯,牵头 JDK 开源协同
程序员杨晓峰开始体会到一种前所未有的“快感”。 他所在的团队向 OpenJDK 国际开源社区主分支贡献的代码名列国内第一,受到了该开源社区的点名致谢,腾讯也成为迄今为止该社区唯一一家因显著贡献被连续点名致谢的中国公司,两位团队成员获得了社区 review 权限。 迄今为止,在国内公司中有这种权限的程序员,不超过三人。 作为 Java 开发工具 JDK 的专家,杨晓峰的日常工作是普通人不太看得懂的基础软件研发。 2019 年秋,杨晓峰冲着“协同”二字入职腾讯,牵头 JDK 开源协同小组。简单说,
语言无关 MySQL 21分钟MySQL入门教程 MySQL索引背后的数据结构及算法原理 NoSQL Disque 使用教程 Neo4j .rb 中文資源 Neo4j 简体中文手册 v1.8 Redis 命令参考 Redis 设计与实现 The Little MongoDB Book The Little Redis Book 带有详细注释的 Redis 2.6 代码 带有详细注释的 Redis 3.0 代码 PostgreSQL PostgreSQL 8.2.3 中文文档 Postgre
首先,我们需要到微软官方网站上下载Visual Studio,这里使用Visual Studio 2019作为演示。进入下载页面后,点击下载 社区版本(Community) 即可,这个版本是免费的。如下图所示:
从上一篇上榜了....发文一来,LeetCode-Master开始有大量的代码合入请求。
生活中充满复杂性,处理复杂性的方法之一就是简化和抽象。在计算中,为了根据信息与用户之间的接口来表示它,抽象是至关重要的。将问题的本质特征抽象出来,并根据特征来描述解决方案。抽象往往是用户定义类型的捷径,在C++中用户定义类型指的就是实现抽象接口的类设计。
📷 上回说到《白话C++编程系列之十: 入口函数篇》 , 我们知道了程序的入口函数通常为main, 就像逛超市, 我们必须得知道它的入口, 才能进去shopping一样, 有了这个main我们写的程序
前段时间公司里做项目要求遵循doxygen文档规范,并且在Windows XP下安装了Doxygen 1.8.4版本,使用起来能查看头文件是否遵循doxygen规范和一些简单的错误,另外还可以根据C或者C++源代码生成对应的API文档,尤其是生成html格式的话就更方便了。
想要写一个操作系统的人大部分都是带着兴趣玩,毕竟现在主流的操作系统windows,苹果系统,linux系统属于目前比较常见的系统,其中linux内核属于开源可以看到其全部的代码,很多研究操作系统都是以linux为参考的模型,毕竟开源的代码研究起来也方便,但是对于个人来讲要去写一个操作系统难度可想而知了,曾经有个北京的同事已经工作了十几年主要的精力就是在研究底层,是个疯狂的linux内核研究者只要是是家里没事就会呆在公司加班研究linux内核,有时候一起吃饭讨论研究linux内核的主要在哪块,他讲到其实linux内核已经不是当初设计的样子了,现在的代码的更新速度之快让人发指,在全球范围内真正对于核心内核代码具备修改能力的非常有限,而且已经被国外巨头公司收到自己的公司作为储备资源。
image.png 现在java大行其道,特别是中国互联网的快速发展,app以及服务端的开发现在流行的程度大大的盖过了传统的c语言和c++,从各个公司的招人简章上面就可以看出。弄得很多做了很多年的嵌入式老工程师喊着别学c语言,招的人太少了,抓紧学习app开发吧。这架势弄得很多小白都觉得用c语言作为入门语言是一种错误的选择,难道c语言真的过时了嘛? c语言相比较java,c#,php,python等之类的语言显得有点过时的感觉。但是c语言本身附属的影响力以及历史地位都是值得初学者以c语言作为初级的入门语言,选
大厂的实习,环境确实太多,很多系统,一开始接触是一头雾水的,面试造飞机,进来造轮子,就这么真实,但是造轮子也能学习一些东西吧。自己在造轮子中碰到的一些问题经常是通过向导师,同事,自己排查。记得当时他们给我说了三句话,现在记忆深刻,也时刻铭记于心!
C 语言是最接近计算机的语言,很多时间,我们都会发现,C 语言是非常有必要学习的。
经过前面的一系列工作后,GO的语言环境已经搭建完成。我们也初步体验了GO提供的大部分命令。但在正式进入开发之前,还有件工作要做,那就是选择一款适合自己的IDE。
1989年圣诞节:Guido von Rossum开始写Python语言的编译器。1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。1994年1月:Python 1.0正式发布。2000年10月16日:Python 2.0发布,增加了实现完整的垃圾回收,提供了对Unicode的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。
很多人要成为高大上的黑客需要学习哪些基本功? 能盗取账号,能攻击服务器? 再牛的黑客起码是一个合格的程序员 所以说想成为黑客先成为合格的程序再说,说别的就是空谈了。大家对黑客的印象就是酷酷的,能轻松破解密码,攻击服务器。本文尝试分析下一个合格的黑客需要具备哪些基本功。 汇编知识 这个主要用在破解软件和攻击服务器使用,特别是在破解软件的时候用的比较多,稍微懂点计算机知识的小伙伴应该知道,在电脑上运行的程序都会生成机器语言,所以想破解直接面对的就是一堆二进制文件,也就是只有机器能看懂的语言。在目前的语言体系中,
代码规范检测,是对代码的可靠性、安全性、可维护性、代码重复率、代码量大小进行检测和评判,生成质量报告,反馈给开发人员进行代码优化。
每位程序员都希望自己的能力变得更强,那有什么方式,需要作出什么改变来实现呢?接下来,我将分享关于提升编程能力的6条建议。
总结了17个 C/C++业内非常经典的开源项目,能够很好的帮助上手与进阶C/C++项目开发,积累项目经验。
最近一直搞不清楚 nullptr, NULL, '\0'这三者的真正区别,因为有的时候会发现,混用这三种用法,编译器也不会报错,在这里对相关的一些定义和使用方式进行整理,用于后续的使用说明。
这不,还真编写起了规范,并且在 github 上开源出来了,项目地址:https://github.com/trekhleb/state-of-the-art-shitcode
作者用代码更新了自己的简历,是不是很接地气,特符合程序员的逼格。这是一份可读可执行的ç语言源文件,也是作者编码风格的体现。
《算法竞赛入门经典(第2版)》是一本算法竞赛的入门与提高教材,把C/C++语言、算法和解题有机地结合在一起,淡化理论,注重学习方法和实践技巧。全书内容分为12 章,包括程序设计入门、循环结构程序设计、数组和字符串、函数和递归、C++与STL入门、数据结构基础、暴力求解法、高效算法设计、动态规划初步、数学概念与方法、图论模型与算法、高级专题等内容,覆盖了算法竞赛入门和提高所需的主要知识点,并含有大量例题和习题。书中的代码规范、简洁、易懂,不仅能帮助读者理解算法原理,还能教会读者很多实用的编程技巧;书中包含的各种开发、测试和调试技巧也是传统的语言、算法类书籍中难以见到的。
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java、C#、C/C++、PL/SQL、Cobol、JavaScrip、Groovy等等二十几种编程语言的代码质量管理与检测
今日洞见 文章作者、部分图片来自ThoughtWorks:黄博文。本文封面来自网络。 本文所有内容,包括文字、图片和音视频资料,版权均属ThoughtWorks公司所有,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。已经本网协议授权的媒体、网站,在使用时必须注明"内容来源:ThoughtWorks洞见",并指定原文链接,违者本网将依法追究责任。 Martin Fowler曾经在一篇文章中引用过Phil Karlton的话: There are only two hard
下图显示了主要城市Python招聘需求量及薪资待遇排行榜(截止到2018年5月)。
VSCode 是一个相当优秀的编辑器,具备开源、跨平台、模块化、插件丰富、启动时间快、颜值高、可高度定制等等优秀的特质。不管是用来写 css,php,c/c++ 都是不错的选择,用 VSCode 来编写 Python,也是相当的好用的。 所以,今天我们就来讲讲,怎么在 VScode 上配置 Python 开发环境。
乔布斯说过:「每个人都应该学习编程,因为它教会你思考的方式」我们学习编程,是不一定要成为程序员的。就像每个人都应该学习法律,但不是都要成为律师;就像每个人都应该学习经济学,但不是必须成为经济学家;就像每个人都要学习数学,也不是为了成为数学家。
工欲善其事必先利其器,优雅的代码离不开静态代码检查工具,大家可能平时使用较多的是cppcheck,但今天我想跟大家分享另一个静态代码检查工具clang-tidy。
关于命名规范我们常用于本地变量名、全局变量名、预处理指令名称、函数名称、命名空间名称、类名、成员变量名称、成员函数名称。
想起自己刚入行的时候,从svn上把代码checkout下来,看到同事写的代码,大括号居然换行了。心中暗骂,这个人是不是个**,大括号为什么要换行?年轻气盛的我,居然满腔怒火,将空行一一删掉。
随着 ToB(企业服务)的兴起和 ToC(消费互联网)产品进入成熟期,线上故障带来的损失越来越大,代码质量越来越重要,而「质量内建」正是 DevOps 核心理念之一。本次 CODING DevOps 代码质量实战系列第一课:《DevOps 代码质量实战:代码规范与 Git Flow》,将由 CODING 布道师、CODING DevOps 架构师杨周老师主讲,为同学们详细讲解提高代码质量的最佳实践,不只适合新项目,也为老项目提供完善的渐进式方案。
会当凌绝顶,一览众山小。经过一年的修炼,《Java 开发手册》泰山版于 4.22 正式发布。泰山版发布之后,我便立马去下载简单阅读了一下新增加了内容。
Android开发的知识体系非常庞大。本文梳理了Android相关的重点知识技能,从编程语言与开发环境、Android基础组件与SDK,到架构设计与模式、跨平台开发框架等方面进行介绍。同时,我们还将分享一些相关的扩展阅读文章,帮助读者更深入地了解这些知识点。
DLL 很多公司会采用完全的静态链接, 这样比较省事, 也比较安全 静态链接通常比较慢(编译时间影响开发效率), 而且EXE也比较大 DLL的话如果不使用interface封装会暴露很多类定义 如果使用C++/CLI的话不能使用静态链接库 Debug Release能重现而Debug不能重现的BUG通常是变量没初始化 DMP文件可以方便地重现崩溃时的堆栈调用 Coding 代码规范是一个项目/引擎必须制定的东西, C++标准的缺乏造成每人一种风格习惯 CodeReview其实是统一风格习惯的一种有
Python 是一个美丽的语言,可以激发用户对它的爱。所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Python.
转眼 Swoole 开源项目已经历 8 个年头。这 8 年里,有 116 位开发者为 Swoole 贡献了内核代码。有无数 PHP 开发者为 Swoole 提供 BUG 反馈和改进建议。也有大量 Swoole 用户活跃在 Swoole 的问答社区、SegmentFault Swoole 专栏、QQ/微信技术交流群。在 GitHub 平台也累积了 1.5万 + 的 star。作为 Swoole 的创始人、核心开发者,倍感荣幸。感谢各位开发者为 Swoole 生态所做出的贡献。我们一定会不忘初心,坚持开源。
如果领导给你一个项目的源码让你阅读,并理解重构代码,但里面一句注释都没有,我想这肯定是之前同事“删库跑路”了
领取专属 10元无门槛券
手把手带您无忧上云