所谓的“编程思想”

  很多事情,当你把它想得很严肃、很庄重,并且当你做这些事情的时候,注定很多遗憾将永远无法得到填补,编程也不例外。

  很多时候,当一个人总是很严肃、很庄重,并且当他做一些事情的时候,注定很多细节将永远留下遗憾,当他编程的时候也不例外。

  所以,凡是事情,怀着轻松的态度把它做好就够了。凡是为人,保持愉悦的心情做好当下的事情就够了。可能看了很多学究的书籍,看到编程思想,我自然而然就想到了面向对象的编程思想,想到了继承、封装以及多态三大特征,想到SOLID五大特性,想到了“找到共性,隔离变化”。但是,这些理论,用起来就绝对变了味道。当你实际使用时,你绝不会想到,一个共性的东西抽象完了,变得更加复杂,更加难以引用,花了很多的时间,却做了"亏本的买卖"。

  今天,和一个心目中的高手聊天,向他请教一些编程中的问题,其实我的问题不外乎XML、Json应该用在什么地方,网络编程应该在游戏开发中如何使用,诸如此类。但是大神一句话,醍醐灌顶、四大皆空。大神如是说:(1)关心写算法 语言的知识之类的  面试官不会太关注于你掌握了多少知识 比较关心你能够掌握多少知识 。(2)至于一个游戏开发中需要使用什么技术 需要怎么去做 你都不应该去关心这个问题 只会给你增加一些无谓的烦恼。 【然后抛出了“编程思想”这个高大上的概念。】 (3) 不要太去关注技术细节的实现方式和做法,哪些知识你掌握点就行 知道大概的流程,然后具体的会在工作中做更深入的接触。 你要先慢慢的培养编程思想,只是会写代码的话 就是码农了,又有思想,又能写代码就是工程师了~~

  仔细想想,其实是我太急燥,太急于求成,太急功近利。一个框架的构建,没有架构者数十年深厚的积淀,如何能够稳固。对于一个学Unity3、4个月软件项目数趋近于0.5的信号处理专业的学生而言,还是先通过量变来改变自己的眼界,初期目标不应该是“架构”,而是能够通过一个项目举一反三,通过一种语言举一反三,通过一种技术举一反三,通过一种算法举一反三,等等等等。

  接下来,我又了解到:(4)就是你能不再纠结于技术的细节和实现,给你一个项目你能用非常清晰的思维和思想以及毅力去做到最好

            (5)现在大部分公司都是这样子的,如果你总是要求自己做到最好的话,你就已经比别人厉害了,而不在于你技术有多牛

            (6)就像你说的unity,在公司里面做,从配环境到上手写应该都不用超过一个星期

  我感觉,清晰的思维应该就是每个项目完成后进行的反思,思想应该也差不多。但是毅力,我着实应该加强一下。其实,就我真实的感受,当我静下心来慢慢做一件事情的时候,每完成一步,就会获得一丝的愉悦,慢慢地就会走完全部路程。关键还是心中有一个微微的思路,哪怕很模糊,但只要我确定,这么走下去没错就够了。并且,不要老是想用一种优雅的方式来完成,只要能够满足需求即可。优雅,一种可遇不可求的姿势,岂是可以经常靠经验得来。

  好了,就写这么多吧。总结一下,我获得的最重要的收获就是,用一种自己能够驾驭的方式来完成客户或者自己提出的需求,不要一开始就逼着自己用一种只可仰视的方法完成,因为这种方法目前还不属于自己。怀着轻松的态度、保持愉悦的心情做好当下的事情(编身边的程序,不要觊觎太多,因为那些,迟早都会有的)。

时间: 2024-11-02 13:08:21

所谓的“编程思想”的相关文章

异常笔记--java编程思想

开一个新的系列,主要记一些琐碎的重要的知识点,把书读薄才是目的...特点: 代码少,概念多... 1. 基本概念 异常是在当前环境下无法获得必要的信息来解决这个问题,所以就需要从当前环境跳出,就是抛出异常.抛出异常后发生的几件事: 1.在堆上创建异常对象. 2.当前的执行路径中止                                          3. 当前环境抛出异常对象的引用.                                         4. 异常处理机制接

《Java编程思想》第十三章 字符串

<Java编程思想>读书笔记 1.String作为方法的参数时,会复制一份引用,而该引用所指的对象其实一直待在单一的物理位置,从未动过. 2.显式地创建StringBuilder允许预先为他指定大小.如果知道字符串多长,可以预先指定StringBuilder的大小避免多次重新分配的冲突. 1 /** 2 * @author zlz099: 3 * @version 创建时间:2017年9月1日 下午4:03:59 4 */ 5 public class UsingStringBuilder {

Java编程思想 4th 第2章 一切都是对象

Java是基于C++的,但Java是一种更纯粹的面向对象程序设计语言,和C++不同的是,Java只支持面向对象编程,因此Java的编程风格也是纯OOP风格的,即一切都是类,所有事情在类对象中完成. 在Java中,使用引用来操纵对象,在Java编程思想的第四版中,使用的术语是"引用(reference)",之前有读过Java编程思想第三版,在第三版中,使用的术语是"句柄(handle)",事实上,我觉得第三版的术语"句柄"更加形象传神,就像你用一个

c++编程思想(一)--对象导言

回过头来看c++编程思想第一章,虽然只是对c++知识的一个总结,并没有实质性知识点,但是收获还是蛮多的! 下面感觉是让自己茅塞顿开的说法,虽然含义并不是很准确,但是很形象(自己的语言): 1.类描述了一组具有相同特性(数据元素)和相同行为(功能)的对象,本质就是一个数据类型,已存在的数据类型只是表示计算机的存储单位,定义新的类就是为了与问题结合,解决问题-----不要把类想的很复杂,直接抽象成这样 2.类要产生工作,会有一个接口,来实现功能 3.程序猿分为类创建者和客户程序猿(调用别人的类).客

JAVA编程思想导论(猜字谜游戏1.0)

一. 引言 本章将借用一个简易的猜字谜游戏,向读者简单介绍JAVA面向对象的部分知识以及实现思路. 二. 面向对象思想导论 为了了解什么是面向对象,我们需要解决以下几点问题(如图2.1所示): 面向对象是什么? 面向对象的特征(或者说表现形式). 为什么要面向对象(它与面向过程的区别). 面向对象该怎么做? 众所周知,计算机的编程语言是始于对机器的模仿,即以代码的形式控制机器完成人们希望所能达到的任务或者效果,故而所有编程语言都提供了抽象机制. 而这种抽象机制实际上可以这么认为——人们所能够解决

大道至简—实践工程者的编程思想

大道至简—实践工程者的编程思想 提到编程,很多人都会发怵,是一门高难度的工作,当然我也不例外,这可以说是没有清楚地认知编程其中包含的思想,还没有真正地入门.程序是什么?是要写的一大堆复杂的代码?是熬夜通宵也弄不出来的东西?其实,就我而言,我认为程序的根本在于思想,只有想明白了才能写出来,想不明白自然就写不出来,正如<大道至简>这本书所写的,要把东西简化,这样使人才能一目了然. 愚公移山都不陌生,其实从这中间可以提炼出有关项目的实际执行,这其中有原始的需求:“惩山北之塞,出入之迂也”: 项目沟通

编程思想之多线程与多进程(2)——线程优先级与线程安全

原文:http://blog.csdn.net/luoweifu/article/details/46701167 作者:luoweifu 转载请标名出处 <编程思想之多线程与多进程(1)--以操作系统的角度述说线程与进程>一文详细讲述了线程.进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础.本文将接着讲一下线程优先级和线程安全. 线程优先级 现在主流操作系统(如Windows.Linux.Mac OS X)的任务调度除了具有前面提到的时间片轮转的特点外,还有优先级调度(Prior

如何培养面向对象的编程思想(转)

1.什么是面向对象? 面向对象是专指在程序设计中采用封装,继承,多态和抽象的设计方法.面向对象的程序设计语言必须有描述对象及其相互之间关系的语言成分.这些程序设计语言可分为以下几类:系统中一切事物皆为对象:对象是属性及其操作的封装体:对象可按其性质分类,对象成为类的实例:实例关系和继承关系是对象之间的静态关系:消息传递是对象之间动态联系的唯一方式,也是计算的唯一形式:方法是消息的序列. 2.如何理解面向对象? 从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内

编程思想之迭代器

原文:http://blog.csdn.net/luoweifu/article/details/42472303 什么是迭代器? 迭代器(Iterator)是按照一定的顺序对一个或多个容器中的元素从前往遍历的一种机制,比如for循环就是一种最简单的迭代器,对一个数组的遍历也是一种的迭代遍历的过程.GOF给出的定义为:提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象的内部细节.迭代器有时也称为枚举器(Enumerator),其结构图如下: 迭代器结构图 迭代器其实

编程思想之递归

原文:http://blog.csdn.net/luoweifu/article/details/42472303 我之前写过关于递归算法的博文,但作为编程思想系列的文章不得不再对它进行进一步深入的剖析.因为它是一种简单.常用又重要的一种编程思想. 什么叫递归? 举一个通俗的例子: 有一个8俩重的苹果要你切成重量相等的若干份,每一份的重量不能大于1俩.你肯定会想到这样做: 1.第一刀先把一个苹果切成重量均等的2份A1和A2: 2.再把其中的一份A1切成重量均等的两份A11和A12, 把A2切成均