你真的会编程吗?你具有“编程视野”吗?

首先想要解释一下标题,标题中的你也包括我自己,大家不要以为我能问出这样的问题我就是一个大神啦!我只是一个学习了一年网站开发的“屌丝”程序员而已(大婶都算不上)!写这篇文章只是想表达一下我最近几天编程的感悟!

许多人在学习编程之前都会问怎样编程?太高深的话我也不会说,按照我的理解,编程就是用咱们所有的编程知识去完成某个功能!那这就涉及到了“视野”的问题啦?所谓“编程视野”其实是我自己创造出来的,它是指咱们在完成某个功能的之前脑袋里面能够将这个功能的所需要的代码都过一遍,把每个顺序捋清楚。这个可以帮助咱们更加顺利的编程,不需要写完这个代码之后还在想下面应该写什么代码啦!让咱们的编程具有高效性!

我相信许多有了一定编程经验的人都会有这个习惯的!但是咱们的这个“视野”足够大足够远吗?有时候咱们需要关注的不是这个一个小功能,而是要将这个小功能放到整体的程序中去思考,从更高的层面去思考,去判断如果咱们用这个代码来编写这个功能的时候是否适合我们这个整体的程序,会不会影响啦其他功能的运行!我觉得这个是最重要的不然等到我们编写好这个功能时其他的功能却又不能运行了,你又得去修改其他功能,那万一其他功能弄好了这个功能又不罢工了呢?所以咱们在编程的时候视野始终要放在整体程序中,不然很是费时费力啊!

下面就说说我最近遇到的问题,最近我在模仿ecshop写一个商城系统!它后台有一个商品列表把我弄得是“神魂颠倒”啊!

大家看这个商品列表一共有要实现四个功能,分别是搜索、排序、全选、分页,我当时在做的时候就是在做这个功能的时候不去思考其他三个功能,结果导致分页做好了,全选不能用了,全选弄好了,搜索又出现了问题!因为他们的输出和获取数据都在一个页面,所以我在做的时候应该去考虑这样做的话其他的功能是不是能够获取到数据!结果就是我的本意是想快点完成这个商品列表但事与愿违啊!

或许我这样的问题对于大家来说压根就不是问题,有不好的地方多多包涵!

时间: 2024-09-29 08:40:08

你真的会编程吗?你具有“编程视野”吗?的相关文章

编程新手如何提高编程能力

其实很多人学编程都会遇到困难,我觉得其中一个根本原因是他们没搞明白学编程到底是学什么. 编程不是一种知识,而是一门手艺. 我们从小到大的学习都是学习知识,流程一般是课前看书预习,上课听讲,下课做作业,然后复习考试.但是学手艺可不是这么学的. 我们先拿游泳举例,游泳不是知识,而是技能,也可以算门手艺吧. 需要预习吗?需要上课听讲吗?不需要,因为两岁小孩都能学会游泳,他们连话都不太会说呢,怎么可能听课预习呢.游泳是通过在水里的练习,教练手把手地传授动作,一点一点提高熟练度学会的. 我们再来看看弹琴,

60多岁大爷研究编程,不要再说编程是青春饭

我早早来到国家图书馆来,怕是周六没有座位,不过好像没有之前人多啊,对了,今天是七夕节呢,很多人过节去了吧!嘿嘿         自己挑了本书在座位上看了会,对面坐了个大爷也拿了几本书在看.我看到他看的是:<Orcacle开发与应用>,<JSP程序设计应用教程>,还有一个是<Anbroid网络开发从入门到精通>.我正在惊讶之时,大爷让我帮他连上图书馆的无线网,有机会和他交流了几句,他说工作遇到一个问题,来研究一下,然后我帮忙的过程中看到他的身份证:46年的,也就是今年已经

[转]所有编程皆为 Web 编程

Web编程还远远没有达到完美的境地.其实,还有点乱!没错,随便会写点代码的人就能三下两下地搞出一个糟糕的Web应用:也确实,99%的Web 应用都似狗屎一堆.但是,这也意味着,相当"聪明"的程序员们正在将他们的成果展现在成百上千(或者成千上万,甚至几百万)的用户面前,而这在互联网盛行 之前是绝无可能的 把软件按照Web应用的形式重整一下,即使软件本身并 不怎么样,这也使得程序员们能够把他们的软件展现在某个地方的某人面前. 如果你希望尽可能多的用户来使用你的软件,绝没有比把它做成Web应

五 浅谈CPU 并行编程和 GPU 并行编程的区别

前言 CPU 的并行编程技术,也是高性能计算中的热点,也是今后要努力学习的方向.那么它和 GPU 并行编程有何区别呢? 本文将做出详细的对比,分析各自的特点,为将来深入学习 CPU 并行编程技术打下铺垫. 区别一:缓存管理方式的不同 GPU:缓存对程序员不透明,程序员可根据实际情况操纵大部分缓存 (也有一部分缓存是由硬件自行管理). CPU:缓存对程序员透明.应用程序员无法通过编程手段操纵缓存. 区别二:指令模型的不同 GPU:采用 SIMT - 单指令多线程模型,一条指令配备一组硬件,对应32

Python黑帽编程2.1 Python编程哲学

Python黑帽编程2.1  Python编程哲学 本节的内容有些趣味性,涉及到很多人为什么会选择Python,为什么会喜欢这门语言.我带大家膜拜下Python作者的Python之禅,然后再来了解下Python的编程规范. 2.1.1 ZEND OF PYTHON 在Kali中启动终端,输入Python,进入交互模式. 图2 输入命令 import this “一首诗”呈现在我们眼前. 图3 内容如下: Beautiful is better than ugly.       优美胜于丑陋 Ex

ReactiveCocoa -函数式编程和响应式编程

RAC具有函数式编程和响应式编程的特性.它主要吸取了.Net的 Reactive Extensions的设计和实现. ReactiveCocoa试图解决什么问题 ReactiveCocoa试图解决以下3个问题: 传统iOS开发过程中,状态以及状态之间依赖过多的问题 传统MVC架构的问题:Controller比较复杂,可测试性差 提供统一的消息传递机制 统一消息传递机制 iOS开发中,每一行代码几乎都是在相应某个事件,例如按钮的点击,收到网络消息,属性的变化(通过KVO)或者用户位置的变化(通过

论防御式编程与攻击式编程

今天突然想到了这个话题. 那么,有一部分读者可能并不会很理解我的意思 防御式编程:客户提出什么问题,我们就解决什么问题. 攻击式编程:主动发现问题,其中有一部分问题是性能优化问题,一部分是客户未能发现的BUG.以尽快的方式解决问题. 真实场景:一个功能被做出来了,开发人员于是试了一遍,觉得功能已经出来了,他心里面觉得松了口气, 可以暂时缓了一口气,然后这个功能的测试任务,被分配给了测试人员. “叮叮叮,小李,过来一下,你这个功能怎么怎么的”. 有以下几种可能情况: 测试人员:   你这个样式在I

提高编程效率的C++编程箴言

对于单纯常量,最好以const对象或enums替换#defines 对于形似函数的宏,最好改用inline函数替换#define 将某些东西声明为const可帮助编译器侦测出错误用法.const可被施加于任何作用域内的对象.函数参数.函数返回类型.成员函数本体. 当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复. 确定对象被使用前已经被初始化. 为内置型对象手工初始化,因为C++不保证初始化它们. 构造函数最好使用成员初始列,

Python黑帽编程2.9 面向对象编程

Python黑帽编程2.9 面向对象编程 我个人认为,计算机语言的发展,有两个方向,一个是从低到高的发展过程,在这个过程中,语言的思考和解决问题的方式是面向硬件的.硬件本质上处理的是信号,在此基础上,我们给硬件赋予了一定的"逻辑思维"能力,为了方便硬件帮我们做事,抽象出了指令的概念,进而出现了汇编语言,然后有了Pascal和C这样的标准的结构化语言.语言一路向上发展,都是根植于指令的,根植于指令就意味着流程和数据代表了一切,数据的变化成为我们表达和抽象这个世界的根本.不可否认,宇宙间的

Java笔记二十三.网络编程基础与UDP编程

网络编程基础与UDP编程 转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.网络编程基础 1.TCP/IP协议:TCP/IP协议是一个非常实用的网络应用程序通信协议,包括TCP(传输控制协议)和IP地址(计算机唯一标识号). 2.IP地址:IP在互联网中能唯一标识一台计算机,是每一台计算机的唯一标识(身份证),通过这个标识号来指定接收数据的计算机和识别发送数据的计算机,该标识号即为IP地址. (1)Ipv4:指在计算机中IP地址用4个字节(