What happened:那些悲催的教程

有些东西真的得喷一下了

很多未来的程序员就是被悲催的教程带坏的

 

我自己酝酿了很多教程:Dot Net是否下过雪(C#)、What happened(电脑综合)、SGML当年也是一枝花(HTML)等等,

为了面面俱到,我也找了网络上很多的教程,自己也会偶尔看一些其他的教程(偶是十八般武艺样样稀松),

结果就不得不喷一下看到的很多东西……

现在养成了一个习惯,搜索教程时都会加一个 site:cnblogs.com ……

 

一。授艺不精

1.教其然而不教其所以然

 先来一个笑话:

妈妈问小明:如果你有一个梨,我再给你两个,你会有几个梨? 

小明:不知道。

妈妈大怒:你不是说你是算数第一吗

小明:我们学校算算术用的都是苹果。

很多教程都是这样:

  • Ⅰ百度知道可以看见很多问怎么PS流光字的问题,最佳答案一般都是一个教程。好了,之后一群人又来问这是怎么做出来的。那个教程讲的很细,每个选项选什么都有,就是没有原理和介绍。

  • Ⅱ还有一个C语言教程的商业实例,讲到了指针的应用,先是业务逻辑讲了一大堆(都是讲前台窗口交互的),之后直接上代码,指针乱的……

  • ⅢC#的也一样,当年开发博客系统时,想要开发RSS导入器,还真被我找到了一个教程,结果里面全都是“添加以下代码……运行,可看到……”之类的,一点解释都没有。

 教程,主要讲的就是应用,没有各模块的解释,教其然而不教其所以然,读者根本不知道如何应用教程里的知识

2.照本宣科,术语连篇

这个在某些网站(例如MSDN)是必要的,但在教程里就不好了。想当年学C语言时,看到指针就晕,于是找了本教程,找到指针一章,结果我更晕了:

  • Ⅳ里面全都是讲内存分配、内存原理、操作系统内存管理,一个通俗的解释都没有

于是我放弃了C,转战ASP.NET。先学HTML,结果当年还是小白的我更晕了:

  • Ⅴ哪个标签的解释都看不懂(现在想起来应该是直接翻译W3C的标准)

术语是必要的,但照本宣科,术语连篇是不可取的 

3.东拼西凑

不多说了,总之看到很多教程都是东取一点,西抓一点,东拼西凑,估计完全是为了赚人气

二。误人子弟

1.实例漏洞百出,逻辑混乱、过时

学生作业漏洞百出就算了,再怎么说教程应该要精益求精的

但是一些教程实在看不下去了,

  • Ⅵ一个ASP.NET教程,做一个留言板网站,结果SQL漏洞、XSS注入、权限提升……漏洞一堆(准确说也不是权限提升,它的权限控制完全是靠JS禁用按钮,不需要登录都可以删除、修改)
  • ⅦC#教程,计算器,逻辑乱到1+1*2等于2,一旦有多运算符马上乱了

2.软件or标准

倒是这可能是个人习惯问题……

  • Ⅷ找HTML教程时,发现很多打着HTML教程的旗号的,开篇先讲Dreamweaver或FromtPage,之后就是鼠标拖一个XX,鼠标拉一个DIV……这是软件教程,不是HTML教程。
  • ⅨC语言还好,但也有不少用大篇幅讲各种IDE的

这些教程,也导致了很多网页设计师、程序员在所见即所环境下如鱼得水,一上代码就晕。

三。毁人不倦

1.技术、规范落后

 抱歉这个小问题被我提到毁人不倦的高度……

现在的标准更新太快了,教程很多都无法跟上标准。没法跟上最新的标准也没问题,就是别太落后了。技术、规范落后也是一种误导。

  • Ⅹ一个不错的C#教程,结果讲ASP.NET,加代码都是加在<%%>里,用的HTML规范还是3.2的
  • ⅩⅠ在Ⅷ提到的一个讲Dreamweaver的2010年的HTML教程,终于接触到了HTML代码本身了,给的实例:
    <HTML>
    <HEAD>
    <Title>Hello world</Title>
    <SCRIPT LANGUAGE=vbscript FOR="bt1" event=onclick>
    <!--
     msgbox "Hello world"
    -->
    </SCRIPT>
    <INPUT name=bt1 type="button" VALUE=点击我>
    </HTML>

乱成这样就是严重的毁人不倦。

2.混淆概念

这就是一个大错了,有的是概念不清楚,有的就是作者的技术问题了,还有不少是东拼西凑的后遗症。

原来看到百度知道上的一个问题,就是问document.write搬到.cs文件里为什么报编译错误,Page_Load为什么不能放到aspx页面里,估计就是被ⅩⅡ所提到的教程害的

  • ⅩⅡ一个C#教程,讲ASP.NET做Helloworld,给的实例(说明是用C#做的ASP.NET页面,输出Helloworld)
    <HTML>
    <HEAD>
    <TITLE>Hello world</TITLE>
    <SCRIPT>
    document.write("Hello World");
    </SCRIPT>
    </HTML>


    还有代码后置版的

    protected void Page_Load(objectsender, EventArgs e)
    {
           Response.Write("Hello World");
    }
  •  ⅩⅢ一个C#教程,说是讲解Winsock,结果照搬了百度百科Winsock一节后,直接上了WCF的代码

 这些混乱严重影响到了读者的编程积极性和愿望,很多读者也因此放弃了编程。无论是写一篇短文,还是系列教程,都要注意不要犯以上的错误。每个地方、细节,都要照顾到。

这篇文章,既是喷一下那些悲催的教程,也算是自我提醒下,写出更好的教程

转载于:https://www.cnblogs.com/Lbysxwz/archive/2011/10/03/2183953.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值