以图明志

编程思想

泡妞与设计模式

简单风趣介绍设计模式
面试的时候,设计模式会经常被问到。其实我们在写代码中或多或少会用到一些模式,面试官问你设计模式的问题,更多是看你有没有总结过。如果一直都是在那垒代码,你当然会认为这是个很难的问题。所以我们需要总结一下设计模式。请MM去麦当劳吃汉堡,不同的MM有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory Method模式,带着MM到服务员那儿,说“要一个汉堡”,具体要什么样的汉堡呢,让MM直接跟服务员说就行了。

编程思想

分享一些独到的编程见解

你也许会认同并开始改变
唯一的“Best Practice”并不是使用各种各样被前人总结过的各种设计方法、模式,框架,那些著名的方法、模式、框架只代码赞同他们的人多,并不代表他们适合你,你应该更多的去使用你的大脑,独立地思考那些方法、模式、框架出现的原因和其背后的想法和思想,那才是“best practice”。事实上来说,那些所谓的“Best Practice”只不过是限制那些糟糕的程序员们的破坏力。

编程思想

传统开发与敏捷好比大象与猴子

解释传统与敏捷方法最贴切的故事
很久以前,在一片充满隐喻的土地上,住着一头大象(喻传统开发方法)。很多年来,这头忠实的大象一直都是他所居住村庄主要的食物采集者,并且非常清楚这个村庄需要什么(喻工程前的事先计划性)。他在丛林中修建了一条路(喻最佳实践),这条路总是能指引他找到最好的根茎、蔬菜、坚果和水果等食物(喻项目的功能)。

编程思想

生成不重复的随机数的思路

总结这类问题的各种方法
通常的生成随机数的做法是不考虑重复的,因为即使重复也属于概率意义上的正常情况。但某些情况下需要不重复的随机数据,怎么办呢? 我想从大方向上来说,应该只有两个方法。要么牺牲时间要么牺牲空间。

编程思想

规范的函数应该如何编写

学会编写规范的函数
每个函数指完成单一的功能。单一功能的函数容易理解,容易测试,也容易预测其行为。给已输入,就能知道其输出。在设计的时候,将函数分为:查询和命令。查询函数:仅仅查询对象的状态,而不改变对象的状态。命令函数:只修改对象的状态,而不返回对象的状态。

编程思想

函数要尽量设计得短小精悍

小函数之道
“设计良好的函数往往比较小,而过大函数的设计往往一塌糊涂,或者存在很大的优化空间。”也许你认为讨论函数的大小没有必要,原因是函数设计的本质是内聚,它的大小只是它的表现形式。而上面的原因有必要让我们讨论一下函数的大小问题。我对函数的核心思路:我提出代码最小处理单元的概念:一个基本操作(赋值,比较等),一个函数调用(包括调用后判断返回值进行判断)都看成一个最小处理单元。

编程思想

关于设计模式的一些看法与思考

《design pattern explained》
最近看完了《design pattern explained》,本打算单单的从技术角度进行总结的,但是却全然没有头绪。说说自己的粗浅的感悟吧。书里没有把23中设计模式全部罗列出来,摆上类图和源代码,恩,这样的做法在作者看来很傻。作者说,将目标集中在设计模式解决问题本身上“only tells us what to do but not when to use and why to do it”。是的,我们需要的应该是思考的过程和方法,而不是前人留给我们的思考结果。

编程思想

敏捷开发需要了解的一些规则

4条核心价值观与12条敏捷软件开发的规则
敏捷开发,Agile Development,就是指能够在需求迅速变化的情况下快速开发软件。我们接触最多的和敏捷相关的名词是:极限编程(XP)、结对编程、测试驱动开发(TDD)等。追究敏捷的历史,就必须要提到著名的敏捷开发宣言,2001年,17位业界专家(其中包括我们非常熟悉的Martin, Martin Fowler)组成了一个敏捷联盟。

编程思想

程序数据存储在什么地方

程序员的基本知识
程序运行时,我们最好对数据存储到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以存储数据:Registers 寄存器这是速度最快的存储场所,因为寄存器其他所有存储媒介都不同:它位于处理器内部。不过,寄存器的数量十分有限,所以寄存器是根据需要由编译器适当地分配。

编程思想

编程高手与调试高手

两者关系密不可分
业界总是有高手之说,高手成了程序员心中之偶像,成了程序员成长之目标。但是,现实中人们往往对自己所了解的程序员,很难认同为高手;人们反而对那些自己不了解的,甚至是道听途说的人会认作为高手了。高手,同武林高手一样,神秘之至。

编程思想

程序代码注释的规范与建议

你的代码注释到位了吗?
对每一级用统一的方法注释每个代码块,例如:为每个类,包含简短的描述,作者和最后修改日期为每个方法,包含其目的,功能,参数,返回值团队编程时,采用标准的注释是很重要的。当然,采用代码协定和工具(比如c#中的XML和java中的Javadoc)帮助这项工作也是可接受的,甚至更可取。

编程思想

实现一个自动垃圾回收的思路

自动内存管理的策略,这就是自动垃圾回收机制
显式的内存管理的复杂性,而且还容易出错。因此我们需要一种自动内存管理的策略,这就是自动垃圾回收机制。既然是自动垃圾回收,那么平台肯定得采取一种方式发现垃圾,然后清除。这就是垃圾收集算法所关注的问题。垃圾收集算法的任务就是将活动的对象和已经死掉的对象分别出来,然后将死掉的对象的内存回收,而且为了更好的利用内存。

编程思想

面向对象的形式,面向过程的思想

从根本上理解面向对象
随着PHP对OOP(面向对象编程)支持的增强以及程序设计思想的发展,越来越多的PHP程序员走进了OOP的世界。通过简单的学习,大多数程序员都能快速的掌握OOP编程的基本技能。程序员们所写的代码里class,new等字符串也越来越多。但是作为程序员的你,是否陷入了一种OO形式,PO思想的编程陷阱呢?

编程思想

怎样的代码才是健壮的?

我们必须谨记的三个原则
不管是在面向过程时代,还是在面向对象时代,任何一个功能都是由若干函数协作来实现的。一个函数由输入、处理和输出组成。实现这个函数的代码段都假定了输入的参数已经满足了若干规则,在执行这个函数时,函数的代码会拿到输入的参数然后执行代理逻辑。下面我们就来看一个函数的代码。

编程思想

提高编程技术的几个修炼方向

提升抽象层次有多种手段
编译技术一向被认为是软件开发这个以工程和实践为主的学科当中真正的"火箭科技"。一个程序员,当他掌握了基本的编程技能,并且具备一些实践经验以后,如果要求在编程技术上进一步深造,则无非有三个方向:其一是钻研高超的算法;其二是深入计算机和网络体系结构;其三则是提升编程的抽象层次。

编程思想

如何快速学习一门新的编程语言

学习一种新的编程语言所要做的15个练习
怎样快速学习一门新的编程语言?本文提供了一个行之有效的方法:看几页程序说明,然后就开始实践吧~虽然你也许已经可以使用很多种编程语言进行工作,但工作常常会要求快速掌握一门新的语言。你可以不去选择去阅读几百页的程序手册,而是快速浏览10到15页的教程,并把程序语言的语法参考说明印在小卡片上。
4 / 5 首页 < Prev 1 2 3 4 5 Next > 尾页 页码: