beginning of coding,programing thinking
2014-02-23 21:58
309 查看
从来没有想过自己要搞技术,可是大学毕业之后却莫名其妙的走上了编程之路。经过一年的彷徨,挣扎,到今天我决定开始自己的编程生涯,不能再逃避了。coding,let's get married!
听前辈们说语言不重要,重要的是编程思想,今日我做为菜鸟,想总结一下我对编程思想的认识和理解。(希望不要太糟蹋编程思想这个词)
个人认为编程思想就是个人解决程序问题的思考方式。映入脑海的第一个词便是abstract,有位大牛说,人们解决问题的复杂性直接与抽象的类型和质量有关。最基本的一个抽象便是函数名,例如我们直接可以使用sqrt()函数而不需要知道这个函数实现的细节。更高层次的抽象便是把待解决的问题分解程一个个的对象,然后把从对象中抽象出类。例如在象棋的编程中有兵,马,炮,车等对象,从这些对象中可以抽象出一个棋子抽象类,然后兵,马,炮,车等具体类便可一继承棋子类,将他们的共同接口(移动)放在抽象类中,可以轻松实现移动函数的多态实现。
第二个词是object,自然界的万物都是对象,计算机编程也是模拟自然对象来解决实际问题,程序便是对象的集合,对象之间通过发送消息来互相通知做什么。对象可以通过寻找外部因素及边界,系统中重复的元素和最小概念单元而发现。在国际象棋程序的设计中,我们试着感受程序不同部分以及它们之间的交互关系,我们初步分解成GamePlay对象,控制玩家(player)的操作;ChessBoard对象,棋盘中的棋盘格;ChesswPiece对象,棋盘中的棋子;view对象,负责视图内容的显示;等等。
第三个词是interface,抽象的关键在于有效分离接口和实现。实现是用来完成任务的代码,接口是其他用户使用自己代码的方式。对象之间是通过接口来实现互动的。面向接口编程要求把接口看成是几乎不变的,在开始编码之前就接口达成了一致。面向对象设计中的接口隔离原则要求:一个接口应该保证,实现该接口的实例对象可以只呈现为单一的角色,这样当某个客户程序的要求发生变化而迫使接口发生改变时,影响到其他客户程序的可能性小。
菜鸟我日后开始学习设计模式,也许会对设计思想有较深的认识,今天献丑了,还请大侠们多多指导。
听前辈们说语言不重要,重要的是编程思想,今日我做为菜鸟,想总结一下我对编程思想的认识和理解。(希望不要太糟蹋编程思想这个词)
个人认为编程思想就是个人解决程序问题的思考方式。映入脑海的第一个词便是abstract,有位大牛说,人们解决问题的复杂性直接与抽象的类型和质量有关。最基本的一个抽象便是函数名,例如我们直接可以使用sqrt()函数而不需要知道这个函数实现的细节。更高层次的抽象便是把待解决的问题分解程一个个的对象,然后把从对象中抽象出类。例如在象棋的编程中有兵,马,炮,车等对象,从这些对象中可以抽象出一个棋子抽象类,然后兵,马,炮,车等具体类便可一继承棋子类,将他们的共同接口(移动)放在抽象类中,可以轻松实现移动函数的多态实现。
第二个词是object,自然界的万物都是对象,计算机编程也是模拟自然对象来解决实际问题,程序便是对象的集合,对象之间通过发送消息来互相通知做什么。对象可以通过寻找外部因素及边界,系统中重复的元素和最小概念单元而发现。在国际象棋程序的设计中,我们试着感受程序不同部分以及它们之间的交互关系,我们初步分解成GamePlay对象,控制玩家(player)的操作;ChessBoard对象,棋盘中的棋盘格;ChesswPiece对象,棋盘中的棋子;view对象,负责视图内容的显示;等等。
第三个词是interface,抽象的关键在于有效分离接口和实现。实现是用来完成任务的代码,接口是其他用户使用自己代码的方式。对象之间是通过接口来实现互动的。面向接口编程要求把接口看成是几乎不变的,在开始编码之前就接口达成了一致。面向对象设计中的接口隔离原则要求:一个接口应该保证,实现该接口的实例对象可以只呈现为单一的角色,这样当某个客户程序的要求发生变化而迫使接口发生改变时,影响到其他客户程序的可能性小。
菜鸟我日后开始学习设计模式,也许会对设计思想有较深的认识,今天献丑了,还请大侠们多多指导。
相关文章推荐
- IOS安全编码指南 Secure Coding Guide -- 02 Types of Security Vulnerabilities 下
- SOAPpy安装错误SyntaxError: from __future__ imports must occur at the beginning of the file原因
- 关于oracle导出导入以及关于oracle的$符号==SP2-0734: unknown command beginning "exp username..." - rest of line ignored.
- Warning: Permanently added 'git.coding.net,222.186.133.56' (RSA) to the list of known hosts.解决笔记
- The Art of Error Correcting Coding
- from __future__ imports must occur at the beginning of the file问题解决
- Overview of the High Efficiency Video Coding(HEVC) Standard之五
- One or more breakpoints cannot be set and have been disabled!Execution will stop at the beginning of the program
- my ubuntu - the beginning of free source
- Summary of problems when coding
- .Net study notes of "Beginning Visual C# 2005"
- The beginning of My blog
- 混迹于博客园很久了,今天终于有了自己的博客园:coding-of-love 嘿嘿
- Efficient coding of time-relative structure using spikes
- 程序员之殇 —— (The Beginning of the End)噩梦、崩坏
- Why The Golden Age Of Machine Learning is Just Beginning
- To love oneself is the beginning of a lifelong romance. —Oscar Wilde
- Overview of the High Efficiency Video Coding(HEVC) Standard之三
- The Definition of Key Value Coding and Key Value Observing
- Darkest page of my coding life