34 如何不移除<p>标签而将段落连接起来?

34 如何不移除<p>标签而将段落连接起来?

这是一个很经典的CSS布局问题,新人彻底理解了这个问题,HTML网页布局思想便已掌握了七七八八了。

问题

先看一段HTML代码:

<!DOCTYPE html>
<html>
<body>
<h1>这是一个标题</h1>
	<div class="wrapper">
    <p>这是一个段落</p>
    <p>这是一个段落</p>
    <p>这是一个段落</p>
  </div>
</body>
</html>

26 使用面向过程和面向对象结合的思想开发软件

26 使用面向过程和面向对象结合的思想开发软件

两者结合起来,开发更有保障。

什么是面向过程开发?

面向过程开发也称结构化开发,将软件要实现的功能分解成一个个连续的流程结点,将每个节点都实现为一个函数,依次调用这些函数以完成软件功能。至于执行流程中多个函数共用的数据,则拿出来定义为共享的数据结构,实例化,在函数中使用和传递。

什么是面向对象开发?

面向对象开发主要指模拟人类的思维方式,将软件需求中的事物关系,通过封装、继承、多态等手法抽象为一个个具体的对象(类),在对象中包含数据和操作数据的方法,以此方式实现软件需求。对象与对象之间的通讯,主要以发送信息的方式进行。


24 由鸭子测试看Go语言的接口实现

24 由鸭子测试看Go语言的接口实现

「If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.」

中文:「如果一只鸟它走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。」

这便是「鸭子测试」,它是一种判定思想。这句话据记载来源于美国的一个诗人,叫詹姆斯·惠特科姆·莱利,他曾说过或写过这样一句话:

「When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.」


23 JavaScript到底是不是面向对象语言?

23 JavaScript到底是不是面向对象语言?

当然是。

为了讲清楚这个问题,我们需要先看一看「什么是面向对象编程」和「什么是面向对象语言」。

什么是面向对象编程?使用面向对象语言进行的编程就是面向对象编程。

什么是面向对象语言?在面向对象编程中使用的编程语言就是编程语言。

好吧,是不是感觉我说了两句废话,确实,编程语言可以自举,但是概念不可以。在讨论面向对象语言的时候,一般要界定这门语言的三个面向对象特征:封装、继承和多态。凡具有这三个特征,就是面向对象语言;不具有,就不是。

也有人讲过,面向对象特征有四个:封装、抽象、继承和多态,比一般的说法多了一个抽象。其实抽象不能算是面向对象的基本特征,因为在面向过程编程中,也有抽象;本质上编程就是抽象,就是将现实世界中一个或几个层面的东西剥离出来,用编程语言表达出来及进行交互控制。


21 程序员大牛是如何编写程序的?

21 程序员大牛是如何编写程序的?

好的程序员是怎么写代码的呢?点燃一根烟,一边吸一边进行周密的思考,待想法成熟了,一把操起键盘,一阵噼里啪啦敲击,一气呵成吗?

或者这样,使用具有步进调试功能的 IDE,例如 Visual Studio,一边编写代码,一边调试代码,一步一调试,直到完成所有需求?

你是哪种编写方式呢?那些计算机编程大牛们他们一般又是怎么写代码的呢?

肯·汤普森说:

我只通过 printf 语句(或类似的 console.log)进行调试,几乎从不使用单元测试或调试功能。通过先设计数据结构开始项目,然后自下而上逐步开展工作,可能会写一些一次性的测试示例。(其实很多大神都是这种编程方式。)


20 编写干净、清晰代码的9个小技巧

20 编写干净、清晰代码的9个小技巧

问题

如题,以下这些编程技巧,可以让代码编写的更清晰,使初学者看起来更像一位老手。让初学者代码看起来老练的技巧,并不是什么奇巧淫技,而是谁都能看得懂、学得会的,很平常的技巧。相反,在代码中为了展示水平而刻意显得与众不同,这是不自信的表现,也是初学者的主要特征之一,反而自爆了初学者的短板。对于初学者,学会这些小技巧足矣。


软件开发不仅仅是编写代码,更是编写团队其他开发人员可以轻松理解的简洁代码。下面提到的 9 个技巧,它们将帮助你编写更清晰易读的代码。


18 弱的软件开发人员都跑到哪里工作了?

18 弱的软件开发人员都跑到哪里工作了?

信不信由你,他们可能成为了你的上司。

首先声明一下,以下内容主要翻译自托米斯拉夫·图拉利亚,主要是他的观点。我作为一名弱的软件开发人员,可没有资格成为一群强的软件开发人员的上司,更没有压榨他们。

下面是图拉利亚的话。

我在 IT 领域工作了大约 10 年,主要在 20 至 100 人的中小型公司工作。在这类公司中,最薄弱的环节却进步得更快,这是一个悖论,但它却是真实的。下面是一些记录自真实世界的例子。


17 Linux会因为开源而失败吗?

17 Linux会因为开源而失败吗?

我不确定当你看到这张图时,是不是和我一样感到震惊?

img

这行图大致描绘了三个主要 Linux 发行版 Debian、Fedora 和 Slackware 的分支演化情况,三个分支下,每个分支背后都隐藏着一个绝顶聪明的开发者或一个精英团队在维护。

这张图来自托米斯拉夫·图拉利亚,他认为 Linux 发行版之所以出现这种过度野蛮的生长——产生了一百多种不同的 Linux 发行版,完全是由于开发者的自负(BIG EGO)。


2
3