《编程高手箴言》摘要

初读《编程高手箴言》 五一长假,搬了个新窝,在校内,是师兄原来住的房子,虽然空间很小,但是毕竟外面大环境还是不错的,至少可以安心睡个好觉。休息了几天,算算今天已经是5.5号了,早上和LQ打球回来,不太想开电脑,随便翻看了一个师兄留下来的书,发现有几本还是不错的。也许是因为程序员出身的本质,一看就看到了梁肇新的 《编程高手箴言》,以前对于这类书我是不大感昌的。但是这位梁兄可是大名鼎鼎的超级解霸的作者,想当年在win95, 阅读详情

程序员是吃青春饭的吗?

追求技术的最高境界的时候,实际上是没有年龄限制的

做程序员一定要有一种正常的心态,就是说,你做程序的时候,不要把自己的生活搞得颠三倒四的。

如果非得搞得晚上烧好多烟才行,这样你肯定折腾不到三十岁,三十岁以后身体就差了。


只要你不想玩,不了解新技术,你就会落后,一旦落后,你再想追,就很难了。


如果你一旦赶不上,就会觉得非常吃力;如果你赶不上,你就会迷失方向;如果你迷失了方向,你就觉得计算机没有味道,越做越没劲。当你还只是有个思路的时候,别人的产品都做出来了,因为你的水平跟别人相差太远,人家早就想到的问题,你现在才开始认识。水平越高,他就看得越远,那么他的思维就越开阔;水平越低,想的问题就越窄



程序设计流程其实很简单。第一步就是要拆出模块,如果你有开放性思维,则任何软件都非常容易设计。怎么设计呢?首先,拿到问题的时候,一定要明确目标;然后,对操作系统所提供哪些功能,程序怎么跟操作系统接口考虑清楚;接着,就是“砍”,把它分开,要把它拆成一个个的独立的模块;最后,再进一步去实现,从小到大地进行设计。

入门和积累是很重要的。事实上,到达高手的境界以后,不管什么语言不语言的,其实都根本不用去学,只要拿过来看两天,就全部精通。如果你没有入门,即使去书店找n本书,天天背它,你也不会成为高手。


规范的格式是入门的基础


代码一定不能乱,一定要格式非常清楚,这点使你写的程序我能读,我写的程序你也能读,不需要再去习惯彼此的不同写法。

而且结合成对编码思维,这时候你去读一个程序的时候,你会发现,你读程序的方法变了。以前读程序的时候,你可以先去读它的变量是什么,然后再读第一行、第二行,读到最后一个大括号,这是一种读程序的方法。现在就不一样了,现在读程序的时候就养成了一种习惯,就是分块阅读程序,很明显两个大括号之间就是一块代码。

那么写出一个程序后,你要读这个程序是干什么的,只要看这个大括号和那个大括号之间的部分就可以了,不需要再去读其他的代码是干什么的。


注释格式是非常重要的,但很少有人去注意它。现在的程序如果没有注释,则基本上是没法用的,也就跟你拿一个可执行程序没什么两样,你拿过来还不能随便改,你改了后编出来的程序绝对不能用。所以,程序如果没有详细的注释,别人就算拿到了代码也没有用,体现不出它的价值来。



1.每年到少学习一种新语言。不同语言以不同方式解决相同的问题。通过学习若干不同的方法,可以帮助你拓宽你的思维,并避免墨守成规。

2.每季度总读一本技术书籍。讨论有当前项目有关的有趣话题。一旦养成习惯,就一个月读一本,就你掌握了正在使用的技术之后,拓宽范围阅读一些与项目无关的书籍拓宽知识面。

3.阅读非技术书籍。

4.上网 学习


程序中的错误,有可能是os系统错误,编译bug,第三方bug ,更可能的是你写的代码的问题




编程高手箴言(推荐) 梁肇新开发技术总结,值得借鉴 这是我在网上能够找到的最清晰的版本,分享给大家 目录: 第1章 程序点滴 1 1.1 程序≠软件 1 1.1.1 商业软件门槛的形成 2 1.1.2 认清自己的发展 4 1.2 高手是怎样练成的 5 1.2.1 高手成长的六个阶段 5 1.2.2 初级程序员和高级程序员的区别 7 1.2.3 程序员是吃青春饭的吗 9 1.3 正确的入门方法 11 1.3.1 规范的格式是入门的基础 13 1.3.2 调试的重要性 17 1.4 开放性思维 18 1.4.1 动态库的重要性 19 1.4.2 程序设计流程 20 1.4.3 保证程序可预测性 21 第2章 认识CPU 23 2.1 8位微处理器回顾 23 2.2 16位微处理器 24 2.2.1 组成结构 24 2.2.2 8086寄存器组成 25 2.2.3 内存的寻址 26 2.2.4 中断处理 27 2.3 32位微处理器 29 2.3.1 寄存器组成 29 2.3.2 保护模式 32 2.3.3 80386的寻址方式 32 2.4 【实例】:在DOS实模式下读取4GB内存代码分析 36 2.4.1 程序的意义 37 2.4.2 程序代码 37 2.4.3 程序原理 41 2.4.4 程序中的一些解释 42 第3章 Windows运行机理 44 3.1 内核分析 44 3.1.1 运行机理 44 3.1.2 LE文件的格式 53 3.1.3 VxD的设计实现 59 3.1.4 【实例】:CPU降温程序代码分析 65 3.2 消息的运行方式 82 3.2.1 认识消息 82 3.2.2 Windows系统中消息的运作方式 84 3.2.3 消息处理过程实例 87 3.3 GDI的结构和组成 89 3.3.1 GDI的组成 89 3.3.2 GDI和DirectDraw的关系 91 3.4 线程的机制 93 3.4.1 线程的工作方式 93 3.4.2 线程与GDI的冲突:死机的主要原因 94 3.4.3 线程的内存泄漏的主要原因 96 3.4.4 进程管理 98 3.4.5 同步机制 100 3.5 PE结构分析 103 3.5.1 PE头标 103 3.5.2 表节 113 3.5.3 PE文件引入 119 3.5.4 PE文件引出 125 3.5.5 PE文件资源 129 第4章 编程语言的运行机理 133 4.1 汇编的原理 133 4.1.1 指令系统 133 4.1.2 汇编与Win API的接口方法 141 4.1.3 【实例】:自定义程序的入口点 145 4.2 高级语言的原理 151 4.2.1 C/C++的原理 151 4.2.2 解释语言的原理 165 4.2.3 【实例】:用C实现简单的BASIC语言环境 165 4.3 C、C++的学习方式 187 4.3.1 从BASIC到C 187 4.3.2 C、汇编、API的关系 187 4.3.3 接口的建立方法 190 4.4 挂钩技术 201 4.4.1 Windows上C的挂钩 201 4.4.2 C++的挂钩技术 213 第5章 代码的规范和风格 220 5.1 环境的设置 220 5.1.1 集成环境的设置 220 5.1.2 TAB值的设置 221 5.1.3 编译环境的设置 222 5.1.4 设置herosoft.dsm宏 224 5.2 变量定义的规范 227 5.2.1 变量的命名规则 227 5.2.2 变量定义的地方规定 228 5.2.3 变量的对齐规定 229 5.3 代码对齐方式、分块、换行的规范 230 5.4 快速的代码整理方法 232 5.5 注释的规范 233 5.6 头文件的规范 236 5.7 建议采用的一些规则 236 5.8 可灵活运用的一些规则 238 5.9 标准化代码示例 239 5.10 成对编码规则 243 5.10.1 成对编码的实现方法 243 5.10.2 成对编码中的几点问题 248 5.11 正确的成对编码的工程编程方法 251 5.11.1 编码前的工作 252 5.11.2 成对编码的工程方法 255 5.11.3 两个问题的解释 260 第6章 分析方法 266 6.1 分析概要 266 6.1.1 分析案例一:软件硬盘阵列 268 6.1.2 分析案例之二:游戏内存修改工具 274 6.2 接口的提炼 286 6.2.1 分离接口 286 6.2.2 参数分析 287 6.3 主干和分支 290 6.3.1 主干和分支分析举例 291 6.3.2 程序检?? 300 6.4 是否对象化 301 6.5 是否DLL化 307 6.5.1 DLL的建立和调用 307 6.5.2 DLL动态与静态加载的比较 立即下载

相关推荐

编程高手箴言 梁肇新.pdf

讲述一个程序员成长的六个阶段: 1、能熟练地使用某种语言,这相当于练武中的套路和架式这些表面的东西。 2、精通基于某种平台的接口(如win的API),以及所对应语言的自身的库函数。这也就相当于可以进行真实的散打对练了,可以真实地在实践中做一些应用了。 3、此阶段能深入了解某个平台系统的底层,已经具有了初级的内功的能力,也就是“手中有剑,心中无剑” 4、此阶段能够直接在平台上进行比较深层次的开发。基本上能达到这个层次可以说是进入了高层次。这时进入了高级内功的修炼。比如能进行VxD或操作系统的内核的修改。这时已经不再有语言的束缚,此时语言只是一种工具,即使要用自己不会的语言进行开发,也只是简单地熟悉下,就手到擒来,完全不像是第一阶段的时候学习语言的那种情况。 5、此阶段已经不再局限于简单的技术上面的问题了,而是能从全局上把握和设计一个比较大的系统体系结构,从内核到外层界面。可以说是“手中无剑,心中有剑”。到了这个阶段就能对市面上的任何软件进行剖析,并能按自己的要求进行设计,就算是MS Word这样的大型软件,只要有充足的时间,也一定能够设计出来。 6、最高境界,达到“无招胜有招”。这时候,任何问题都纯粹变成了一个思路问题,不是用什么代码就能表示的。此时,对于练功的人来说,他已不用再去学什么少林拳,只是在旁边看别人对战,就能把这拳来用。这个就是大师级别的人物。这时,Win32或Linux在眼里是没有什么区别的。

编程高手箴言…摘录

1.做程序员一定要有耐心。机遇是在耐心中产生的,越有耐心,越有机遇。 2.从最底层开始做起,从最基本开始做起。 3.成长分为六个阶段:1.熟练使用一门语言。2.精通基于某种平台的接口(Win32的API函数)以及语言自 身的库函数。3.深入了解某个平台系统的底层。4.直接在平台上进行深层次的开发,比如VxD(虚拟设备, x表示任何设备,VDD表示虚拟显示设备,VDMAD...

517

编程高手箴言编程高手箴言

编程高手箴言编程高手箴言编程高手箴言编程高手箴言编程高手箴言

强烈建议每一个想成功的程序员读一读此文章[转载]

好的开始是成功的一半,本书首先会试图告诉你什么是程序员?为什么要做这样的程序?正确的入门方法是什么? 程序员只有在理解了以上内容的基础上,才能进一步更快地提高自身技能,这时候再开始程序的设计。其实,对一个软件的开发者来说,真正重要的不在于这行代码怎么写,那些代码应该怎么写,关键是思路的问题,而思路事实上是经验的积累。经验是使你从最初的封闭的思维方式,到最后形成开放式的思维的一个过程。将我十几年程序

4802

编程高手箴言源码(含pdf)

编程高手箴言.pdf 编程高手箴言随书光盘.rar

编程高手箴言pdf扫描版.pdf

一本优秀的编程手册,教你了解系统从小的习惯做起,学好怎么编写更好的程序

《编程高手箴言》读后 #4

32位指针,会导致你的class变大的,如果你用virtual修饰sayHello,那么class B就会比class A大4个bytes)(当然,你如果将sayHello用virtual申明为虚方法,那么编译器会在你的类前面加一个所谓的VTable,其实就是一个。如果你用sizeof()作用在这令各class上,就会发现,它们大小是一样的,B不会因为多了一个方法而导致其size变大。大家可以编译出来看看,运行的话就会打出"A::sayHello()",呵呵,我们根本就没有生成A的实例A的方法就已经存在。

biyusr的专栏 581

《编程高手箴言》

《编程高手箴言》

关于《编程高手箴言》一书

      今天在图书馆看见这本书,被它的第一章《程序点滴》所吸引了,便拿过来读了一个下午。郑渊洁说过这样一句话“一本书不管从哪页看起,5分钟后还不能吸引你,请毫不犹豫地扔掉它。”我的确被第一章所吸引了。      书的作者是梁肇新,他是豪杰公司的董事长兼首席程序员。既能坐的管理层第一把交椅,又能坐的技术员第一把交椅,必然有一番实力。      只是书中有一处,第252页中写道: 

Rolin的专栏 1628

Synopsys SpyGlass 进行 RTL 功耗估计

通过上述脚本,您可以使用 Synopsys SpyGlass 对纯 RTL 代码和带有 FSDB 波形的 RTL 代码进行功耗估计,并支持将 SDC 文件转换为 SGDC 文件。

yumingqinglong的博客 2186

Figma到Axure一键转换:Axhub Extension保姆级教程(含常见问题解决)

本文提供Axhub Extension的保姆级教程,详细讲解如何将Figma设计稿一键转换为Axure高保真交互原型。教程涵盖环境准备、核心转换四步走流程,并重点解决JSON导入失败、样式错乱、复杂组件转换等常见问题,旨在打通Figma与Axure之间的数据孤岛,大幅提升设计师和产品经理的原型制作效率。

night的博客 1575

编程高手箴言》读后 #2

噢,对了,这个链接http://jiurl.nease.net/document/JiurlPlayWin2k/MmPaging1.htm给出了关于分页机制的比我讲的好的多得。的机器上没有Win32平台的开发工具,只好从用gdb反汇编的程序中摘了一行)在flat模式下,0x8049430就是最终的虚拟地址了。按照Intel自己的文档,它1989推出的486DX是25MHz工作频率,一级缓存是16Kb。(这个值是这样计算的,“第一个”表格是4K大小,有1024个表项,每个表项对应一个“第二个”表,这样就有。

biyusr的专栏 1016

VSCode玩转STM32:手把手教你配置EIDE插件与OpenOCD调试(附野火DAP配置文件详解)

本文详细介绍了如何在VSCode中配置EIDE插件与OpenOCD进行STM32开发,特别针对野火DAP调试器提供了配置文件详解。从基础环境搭建到深度调试技巧,帮助开发者高效完成STM32项目开发,实现现代化嵌入式开发工作流。

weixin_26905487的博客 553

《编程高手箴言》读后 #1

新的Win32驱动模型WDM,Linux/Freebsd kernel的小修改笔者都参经碰过,但是我从来不认为我到了很高的层次,尤其和。计算机的能力,sourceforge上一度排名很考前的bochs就是个很好的x86模拟器,我就在它上面跑过一个小小的linux。容易啊,我实现个新的窗口类我就从CWnd派生,不是窗口类而要支持什么Serialize之类的,那么我就从CObject派生。所谓的Internal Error,而我用GCC,就从来没遇到过这种莫名其妙的内部错误的抱怨。笔者的看法是从中间层做起。

biyusr的专栏 911

Multisim实战:从零搭建体温检测报警电路(附完整仿真文件+调试技巧)

本文详细介绍了如何使用Multisim从零搭建体温检测报警电路,涵盖LM35温度传感器、LM358运算放大器等核心器件的选型与连接,以及信号调理、阈值比较和数码管显示等关键电路设计。附赠完整仿真文件和实用调试技巧,帮助电子工程初学者快速掌握体温温度检测系统的设计与实现。

weixin_28285943的博客 292

gd32 spi 发送&中断接收例程

【代码】gd32 spi 发送&中断接收例程。

weixin_43026921的博客 1653

10句编程箴言 (转)

导读:原文作者Kevin Pang在kevinwilliampang.com发表一篇《10 Programming Proverbs Every Developer Should Know》。译文由伯乐在线整理编译成《10句编程箴言 每个程序员都应该知道》。文章内容如下: 所谓谚语,就是用言简意赅、通俗易懂的方式传达人生箴言和普遍真理的话,它们能很好地帮助你处理生活和工作上的事情。也正因如此,我

风吹无迹雨落无痕 626

Serdes之什么是(CDR)?

光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。光收发器和电收发器使用的是我们所说的串行数据通信。在这种通信方式中,数据位是按顺序一个接一个地传输的。目前市场上大多数收发器都没有专用的时钟输入,因此时钟恢复和数据重新定时等功能是在收发器外部(即在主板上)进行的。接收端则需要恢复时钟以采样串行线上的数据。为了实现这一点,接收端需要一个与输入数据频率大致相同的时钟。通过使参考时钟与输入数据信号的跳变相位对齐,可以生成一个恢复的时钟。这被称为时钟恢复。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 2389

《编程高手箴言》读书笔记缘起

前不久在 csdn 上偶尔看到梁肇新先生在 2009 中国软件英雄会上海站只讲风水的报道,一时觉得有点好奇,就找来梁先生的《编程高手箴言》放点耐心地阅读起来,因为六、七年前曾在书店里看了看目录和开头几页就没有放在心上。现在难得一段空闲,也正好消磨时光。

ZSY2012的专栏 942

深度学习实战107-基于Qwen3+GraphRAG+Agent的智能文档管理系统:精准问答与决策支持

在当今信息爆炸的时代,企业面临海量文档的管理与利用挑战。传统文档管理系统虽然提供了存储和检索功能,但缺乏对文档内容的深度理解与分析能力,更难以实现基于知识的决策支持。基于多模态大模型Qwen3、GraphRAG技术与Agent框架构建的智能文档管理系统,能够突破传统限制,实现文档内容的精准解析、知识图谱的自动构建、复杂关系的推理分析以及决策建议的生成,为企业知识管理带来革命性变革。

微学AI的博客 865

Python控制程控电源(USB)

随着智能电动汽车行业的持续发展,汽车电子或嵌入式设备在软硬件的测试中,都会使用程控电源供电,特别是自动化测试、压力测试场景必定使用到程控电源控制,控制电源上下电,监听电源电流、电压等,以下就以常见的艾德克斯程控电源为例,分享如何通过USB连接方式Python语言来控制程控电源。

测试领域技术分享 2865

《编程高手箴言》读后 #3

设备而定义的一个软/硬件的规范。当用_beginThread来创建,而用CloseHandle来关闭线程时,这些复制的全局结构就不会释放,这就有了内存泄漏。如果在标准的C环境里,就用_beginthread好了,然而文档清清楚楚的说明了这个时候要用_endthread来结束线程,线程应该是应用程序里的一个执行序列,而Windows在用CreateThread创建线程的时候,最重要的一个参数就是。对了,大家可以看看hInstance的值,是0x400000,和前面说得程序起始地址一样,呵呵,难道是巧合。

biyusr的专栏 701

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

读《编程高手箴言》

在旧图看书,偶尔发现了一本不错的书喔,是梁肇新写的《编程高手箴言》以前总是觉得能够编出实现一定功能的程序就是很不错的程序员了,但是最近好像老是接触到这样一个概念,编程并不是能够实现一定的功能就可以的,还要很多事情需要考虑。我们不能仅仅满足于做一个普通的程序员,而是要做系统分析师那样能够在整体上架构一个大型的软件的程序员。而《编程高手箴言》更是详细的阐述了这方面的问题,首先书中的绪言将一般的

经天纬地 920

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

梁肇新《编程高手箴言》书评

引用地址:http://blog.joycode.com/fyuan/archive/2005/04/28/49985.aspx上海福州路曾经是上大学时常去的地方, 这次回国, 专门旧地重游. 在上海书城逛了很久. 除了买了一大堆围棋书以外, 还买了一本梁肇新 《编程高手箴言》. 买梁肇新的书有几个原因:1) 他是一个真正的程序员2) 他敢称高手3) 他的书确实是写出来的4

博文视点(北京)官方博客 8683

我也瞎谈编程高手箴言

梁先生确是自负, P11中”正确的入门方法”便能窥一二, 大有舍我取谁的气概. 可惜我百思不得其解, 梁先生是以BASIC入门还是以C入门的(”入门的最基本方法是从C入手, 如果以前学过BASIC, 那么从C入手是非常容易的, 我就经历了一个过程”)J。P15 “插曲: 这点绝对不会有人告诉你, 现在没有人去讲这一方面的技巧, 着也是我写了那么多程序, 才总结出来的, 一开始的时候, 我也象那些教科书所教导那样写, 后面放个大括号, 前面放个大括号……, 数据段(Data Segment),…

biyusr的专栏 307

10句编程箴言

导读:原文作者Kevin Pang在kevinwilliampang.com发表一篇《10 Programming Proverbs Every Developer Should Know》。译文由伯乐在线整理编译成《10句编程箴言 每个程序员都应该知道》。文章内容如下:所谓谚语

花心龟 cabin 1642
上一篇: 读《为会么幸运的人总幸运,倒霉的人总倒霉》
下一篇: 页面跳转
MakeToday
博客等级 码龄22年 13粉丝 138原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值