Skip to content
Ider

沉淀我所学习,累积我所见闻,分享我所体验

Primary Navigation Menu
Menu
  • Home
  • About Ider
    • Who Ider?
    • Why Ider?
    • How Ider?
    • Where Ider?
    • What Ider?

Language Issues (Page 2)

2013-06-06
06 June
On June 6, 2013
In Article Collection(聚宝收藏), Knowledge Base(心得笔库), Language Tips(语言初试)

小心程序运算符的陷阱

每一门程序语言都会提供各种运算符(Operator),每个运算符都会有特定的含义和规则,去完成指定操作最后给出相应的结果。有些运算符会普遍出现在各种语言中,比如加减乘除这些算数运算符;有些运算符则为某些语言特有,比如取地址运算符和反引用运算符只在C/C++中用到而Java,C#这类不能直接访问地址的程序语言就不具有;有些运算符因为特定的需要,还会改变其一般的含义,比如加法运算符在很多语言都被作为字符串拼接的操作符。学习一门程序语句,除了学习其语法以外还要了解其所拥有的运算符,但是因为各个语言运算符的相似性,常常让人简单略过对它们的了解。

运算符最主要有两个特性:优先级(Precedence)和结合律(Associativity)。在很早以前我的《两年半大学总结》讲到过自己对运算符, 特别是优先级的问题上的一些理解。在之后的学习和编写程序的过程中,我常常发现原来运算符的这两个特性会给代码带来隐形的意想不到的陷阱。所以我将实际中碰到的一些关于运算符的问题罗列于此,希望能对这些问题提高警惕以免跌入陷阱。
Read More →

2013-02-21
21 February
On February 21, 2013
In Design Patterns(设计模式), Knowledge Base(心得笔库), Language Tips(语言初试)

DOM的JavaScript事件绑定方式比较

JavaScript语言是当前十分流行的语言。它从前端页面走来,产生了像jQuery这样的强大框架;它向后端服务器走去,有了Node.js;它更被微软接受为平等于C#和VB.net的第三种可用于开发Windows8应用的语言。

不过说到底,JavaScript的本家还是在前段网页界面的上的使用,而真正让JavaScript变得如此强大的还在于它能对文档对象模型(Document Object Model),也就是俗称的DOM进行操作。这其中,又要数“事件处理(Event Handling)”让用户交互(User Interaction)体验得到了巨大的提升和丰富。

如果没有事件处理,其实根本不会需要添加JavaScript到页面上,本篇文章就来总结一下JavaScript中DOM事件绑定和激发的一些方式和机制,有助于在以后的开发上有更好的设计和理解。
Read More →

2012-09-06
06 September
On September 6, 2012
In Knowledge Base(心得笔库), Language Tips(语言初试)

谨慎使用PHP的引用

引用类型(Reference)在许多计算机语言中都被使用,而且是作为一个非常强大而实用的特性存在。它有类似指针(Pointer)的实现,却又有不同于指针的表现。例如C++的引用,可以让不同变量指向同一个对象,同时又保有直接使用dot来获取对象成员,不用繁琐的使用dereference运算符(*)和Pointer to Member运算符(->)。Java和C#中就直接以引用为主要类型,尽量让开发人员避免使用指针。

PHP中也引入了引用类型,在对对象赋值传递上,基本可视为是同于Java/C#的引用传递(具体请见Objects and references)。但同时又支持在基础类型上通过引用运算符(&)来获得内容的引用。不过在实际的使用中,PHP的引用类型因为整个PHP设计结构而存在着许多的问题,使得在程序出现非预计的结果。Read More →

2012-05-03
03 May
On May 3, 2012
In Algorithm Analysis(算法分析), Data Structures(数据结构), Knowledge Base(心得笔库), Language Tips(语言初试)

画虎画皮难画骨,编程编码难编译

古语“画虎画皮难画骨”,是说画老虎时要画它的外表很容易,可要将老虎的气势画出来却很难。

对于现在的程序员来说,似乎也是这样子,可以写出整洁的代码,设计出优异的程序,但却不一定需要知道代码在编译之后的是如何运行的。

但是有时候,能了解表面背后的故事,知道一些程序编译过程,其实对写出一个正确的正确的程序会有很大的帮助,这起源自一段很简单的问题实现:两整数交换。
Read More →

2008-12-27
27 December
On December 27, 2008
In Language Tips(语言初试), Programming Life(程序人生)

做人和做程序,两年半大学总结

从大一下班学期第一次接触计算机语言,到现在已经快2年了。两年的大学生活里,我不仅仅是在学习我的专业课,还有学习怎么做人。我不停地变化着自己,适应着社会、环境的规则,找到自己喜欢的方式活着。但是我从来没有想过去改变我身边的人和事,只会选择去融入,或者远离。

这跟编程序真的很像的,我只能决定我用那种语言去编程,选择一种编译环境去编译,但是我永远不能改变那个编译环境,也不能对我使用的语言进行修改。我必须按照语法规则去实现我想要的目的。

不过其实做人和做程序不只有这一点点相似之处。
Read More →

Posts pagination

Previous 1 2
Facebook
Twitter
LinkedIn
RSS
ZhiHu

Recent Posts

  • 三年居家工作感受
  • Pixel Watch智能手表和Pixel 5, 6 Pro 及 7 Pro手机
  • 我拥有过的无线耳机
  • 毕业工作一个月,我差点被开除
  • 我拥有过的移动硬盘
  • ProtoBuf 2.0 method count optimization for android development
  • 面过100场行为面试后

Categories

  • Algorithm Analysis(算法分析)
  • Article Collection(聚宝收藏)
  • Data Structures(数据结构)
  • Design Patterns(设计模式)
  • English Posts(英文写作)
  • Front Interface(界面构想)
  • IT Products(数码产品)
  • Knowledge Base(心得笔库)
  • Language Tips(语言初试)
  • Mathematical Theory(数学理论)
  • Mobile Development(移动开发)
  • Programming Life(程序人生)
  • Reading Notes(阅而后知)
  • Software Engineering(软件工程)
  • Special Tricks(奇技妙招)
  • Tangential Speech(漫话杂谈)

Tags

Aero Android API Bash Binary Search Bitwise Operation Book C/C++ Career Chrome Conference CSS Debug Device DOM Extension Framework Game Gradle Hearthstone HTML Initialization Intellij Interview iOS Java JavaScript jQuery Keyword Language Issues Mac Microsoft Mobile Modifier Objective-C PHP Principle Reference Regular Expression Static String Tools Tutorial UI XML

Blogroll

  • Ahmed's Blog
  • Gert Lombard's Blog
  • Gordon Luk
  • Jack & Allison
  • 开发部落

Archives

Designed using Chromatic. Powered by WordPress.