换句话说,就是该怎么写程序。
但是,大家上学的时候都学过数据结构吧,学过结构化设计语言Pascal吧!有人说了,没学过,那C语言应该学过吧!要是也没学过,那也没有关系!
这个公式应该还记得吧:
算法 + 数据结构 = 程序 或者 算法 + 数据结构 + 程序设计方法 + 语言和工具 = 程序
那什么是程序呢?其实说白了,就是一个模块。写程序,其实就是写一个模块,或者你用对象也可以。或者说是一个盒子也行。反正,只要理解了就行。
那么算法是什么呢?其实就是解决问题的方法。
数据结构是什么呢?其实就是数据在计算机里面是怎么存储的方法。
语言是什么呢?就是写程序的工具。可以是PHP,ASP.NET,VB.NET,C#,Ruby,Python,SQL等等。
程序设计方法是什么呢?其实就是组织结构,怎么把算法,数据结构组织起来的方法,比如:OOD,结构化程序设计等等。
所以,说一千到一万,目前,所有的程序,写出来的模板都应该是一样,都应该包括以下的内容:输入/输出,内部变量,模块逻辑结构。不信,不可能,胡说。不要乱扣帽子,我们可以举例子来说明。在这里,我只拿PHP的程序来说明,其它的语言,你可以参考老鸟的观点,自己思考一下。
1)只有输出,没有输入。<?php
echo \"Hello World!\";
?>2)有输入,有输出。<?php
include(\"conn/conn.php\");
$type=$_POST[type];
$title=$_POST[title];
$content=$_POST[content];
$linkman=$_POST[linkman];
$tel=$_POST[tel];
//$edate=date(\"Y-m-d h:i:s\");
$edate=date(\"Y-m-d H:i:s\");
$sql=mysql_query(\"insert into tb_info(type,title,content,linkman,tel,checkstate,edate) values('$type','$title','$content','$linkman','$tel',0,'$edate')\");
// 前面这么一大堆语句是做什么用处的呢?废话,当然是获取提交的数据啊!
// 验证,并依据验证结果跳转到对应页面
if($sql){
echo \"<script>alert('恭喜您,信息发布成功!');window.location.href='release.php';</script>\";
}else{
echo \"<script>alert('对不起,信息发布失败!');history.back();</script>\";
}
?>
3)复杂的输入/输出<?
class MysqlConn{
private $conn;
private $my_db;
private $result;
// 系统初始化
public function __construct(){
require_once(\"db_config.php\");
$this->conn = mysql_pconnect($db_server, $db_user, $db_pwd);
$this->my_db = mysql_select_db($db_name,$this->conn);//选择数据库
}
// 对应的方法
public function query($sql){
$this->result = mysql_query($sql, $this->conn); // 执行查询语句
return $this->result;
}
public function next(){
return $row = mysql_fetch_array($this->result);
}
public function close(){
mysql_free_result($this->result);
}
//使用转义字符,保证系统安全.
public function escapeString($str){
return mysql_escape_string($str);
}
}
?>这段代码是什么意思,你不知道OOP的,应该大概也知道是做什么了吧!
当然,有些程序或者叫代码,写的可能就很复杂,但不管怎么写,你按照这个思路去看代码,应该知道人家为什么这么写了!
但是,实际上呢,我们的任何的程序,其实还应该加上一个UI,也就是用户界面。
那么在PHP中,它支持那些用户界面呢?很简单,浏览器,窗口,控制台。当然,PHP做窗口不是很方便,它更多的是做浏览器的。是不是还有其它用户界面呢?我不知道,你要是知道的话,可以告诉我!
最后的小结:
一个程序应该有那些内容呢?
算法 + 数据结构 + UI = 程序
你可以审视一下过去你写的那些代码,或者,你看人家写的代码,不管这些代码是怎么写的,它的格式都是一样的,唯一不同的就是语法的不同。
当然,为什么有些代码我看不懂呢,那其实是因为,它里面包含了很多的算法。比如:在游戏开发中经常用到下列一些算法:A*,排序。贪婪,遗传等。当然,有好多算法是已经实现了各种数据结构和算法。我们只需要怎么做就可以了。当然,有时间的话,我们也可以理解为什么要这么做?但,我估计,除非你是做系统开发的,否则,劝你还是打消这个念头吧!因为,时间和精力是有限的!
本文转自 朱志兵 51CTO博客,原文链接:http://blog.51cto.com/richardzhu/196755 ,如需转载请自行联系原作者