思想决定行为,行为决定命运 --- 3月31日会议记录

        从2月份到现在,差不多历时2个月的基础系统前期工作已经顺利完成。331日,米老师对基础系统的工作进行了初步的验收。1个半小时,让我们又进行了一次思想上的洗涤。其实在让米老师验收之前,我们大家都是心理有些窃喜和自豪的,觉得基础系统的这次重构,较之上一版的数据库和原型设计方面都有了一个较大的变化,需求分析上也更加完善了,所以,大家都想着让米老师来夸夸自己,结果可想而知... 不过,我还是很庆幸,我参加了这次基础系统的重构,也参加了这次初步验收会议。因为这次会议,让我收获的不仅仅是技术,更是思想!这个一直以来都是米老师让我们学习的重点,可是我们总是在不知不觉中本末倒置了。


 ------------------------------技术&&思想-------------------------------

        

     思考一:预留字段?


        tgb现在有一个以前从不被米老师知道的不成形的传统,会在数据库中的每一张表中加入几个预留字段,避免出现表中字段不够的情况。31日验收基础系统时,我们将此方法作为一个亮点展示给了米老师,可是却因此展开了一段激烈的壮观的舌战。现关于是否预留字段出现两种声音(世上没有绝对的事情,所以以下两种声音只是为了方便比较写出的极端结果):


       声音1:支持预留字段(过度设计)

        1)方便扩展功能

        2)方便他人维护

        3)避免更改数据库结构

        总结来说,这种支持预留字段的主要想法就是:以防万一,防备可能的情况!


        声音2:反对预留字段(按需设计)

        1)浪费空间,数据冗余

        2)违反命名规范,数据类型设置不恰当

        3)预留几个是够?

        总结来说,这种反对预留字段的主要想法就是:为未知的变化过度设计,不如现下的按需设计!


        Every coin has twosides,这个依然。但是在查阅资料后,我个人现在是比较倾向于声音2的。首先,浪费空间并且大数据量时的数据冗余是非常严重的;其次,极为不规范的命名(因为我们不知道以后要增加的字段是什么,所以,现有的预留字段基本都是other1等这样命名的)和数据类型的不合适,会给后期维护造成许多不必要的麻烦;最后就是一个更值得深思的问题:留几个字段是够?如果不够了,是不是还是需要再次手动添加,那么和没有预留字段有什么区别?

        所以,我觉得,预留字段不能完全舍弃,毕竟存在即合理但是还是建议想要成为更专业人士的人少用!


        以上关于预留字段的思考都是我们可以在网上查到、学习到并且意识到的。可是下面我说的这个“上移”就真的不是一般人可以发现的了,反正如果不是米老师点出,我是肯定不会知道的。

        米老师说:为什么会出现“过度设计”?----害怕面对未知变化,更害怕面对新的知识!


        一句话,两个害怕,我觉得完全可以抨击到曾经认可“过度设计”的我的灵魂深处!的确,曾经我认为,现在多预留两个字段,以后出现变化时就可以直接用了(没有想过命名和数据类型不匹配等),如果现在不预留,以后变化的时候该怎么办呢?用动态添加字段来解决?可是我没有用过,还得学习。两者一权衡,理所当然的选择了预留字段。

        现在被米老师血淋淋的指出,方知问题根源所在,所以,我们要改变的还有很多,不仅仅是在技术上,更是在思想上!


        思考二:动态显示结果?


        说这个问题前,想先问问读者,你可知道资源管理器的显示上有这样一个功能:可选择的显示项。如下图:



        

        这个其实我们是非常容易发现的,可是确是我们非常不容易想到学习的。我这里的学习当然不是学习如何使用这项功能,这个太简单了。别人设计出来了,你要是连用都不会用,那么试想差距是有多大?我觉得我们要学习的是:学习这项功能体现的编程思想,学习微软能设计出这项功能的原因。


        这个“可选择的显示项”,大家想想,有没有和我们学习过的三层思想很契合?分层的思想是什么?不就是解耦合吗,只不过我们学习的三层是界面层、逻辑层以及数据层的解耦合,这也是大多数人认为的技术上的分层。不过在这里---“可选择的显示项”,它同样用到了分层的思想,只不过它这里是“页面显示”和“数据库”的分离。两者中间可以有一个配置文件来当隔离层,从数据库中查询到的数据,我可以选择性的显示在页面上,不再需要把查到的都一次性显示在页面上了。

        

        这个思考,让我感触最深的不是分层思想应用,而是我学习上的弊端---不去思考基本原理,不懂得举一反三。我只能说,我现在学习的只是分层的技术,而不是真正的分层的思想。可是,我们又都知道,思想远比技术重要的多,所以,又一次,本末倒置了~


        思考三:数据库中使用文件夹?


        又要问读者朋友一个问题了,你知道SqlServer数据库中的可以建文件夹吗?经过查询,学会了使用Sql Server下调用命令行语句建文件夹(方法如下示代码),不过还没有弄明白这样用Sql语句建立文件夹和直接在相应目录下建文件夹有什么区别?有待继续解决。可是米老师说的在Sql Server中表下建立子文件夹(类似于“系统表”文件夹)的方法还没有找到,这两个问题稍后给大家答案吧。

--修改系统配置的存储过程(允许修改系统配置中的某些高级选项)
EXEC sp_configure 'showadvanced options', 1
 
GO
 
--提交第一步操作
RECONFIGURE
 
GO
 
--开启对组件 'xp_cmdshell' 的过程 'sys.xp_cmdshell' 的访问
EXEC sp_configure'xp_cmdshell', 1
 
--提交更新第二步的操作
RECONFIGURE
 
GO
 
--创建相应路径下的文件夹
xp_cmdshell 'mdC:\backup2'

        虽然具体实现的方法没有找到,但是这个技术你知道吗?你想到过吗?

        教务系统中多个子系统都用了基础系统的数据库,所以基础系统的数据库中表是相当之多啊~可是每次我需要找张表时,都是在近百张表中一个一个找。试想,如果把所有的表进行分类,关于评教系统的放在“评教系统”文件夹中,以此类推,这样,我们找起来是不是更为便捷了呢?可是,如果不是米老师说,我们都不会想到这个(虽然米老师说了,我现在也还不会吧,不过我相信,肯定会会的!)。



        

        不要说老师比我们聪明,或者见识多,“系统表”就那样一直都在上面放着,我们还有什么理由不去想到---能不能建立一个像系统表一样的子文件夹,对繁多杂乱的各种表进行分类?!

        不是我们不聪明,只是我们太“聪明”了,聪明到看什么都觉得理所当然,看什么都觉得自己都知道了!


        思考四:查询条件?


        熟悉基础系统的人都知道,基础系统中涉及到的查询是比较复杂的,这里的复杂不仅仅是逻辑上的复杂,更是操作上的复杂,想要查询一名学生,他所属的学院,专业,班级等等都必须进行选择,试想,这样一个过程,使用者会有什么感受,操作一次还好,操作多次呢,还好吗?

        可是,这就是我们做出来的系统,这就是我们的界面。使用者选择各项条件,我们就可以非常简单的通过Sql语句进行查询了。总言之,使用者做了很多复杂的操作,只为方便我们的开发。这样的软件,谁愿意用?你自己?恐怕也不愿意了吧~

        试想,如果我们把所有的查询条件都去掉,改成关键字查询呢?用户只需要输入任何他知道的信息,然后剩下的工作就交给我们了,我们通过模糊匹配,来显示其相应信息,这样是不是简单了些。突然想到,这个思想是不是挺像“百度一下”的?这就是人性化的设计理念吧---用户少做,我们多做。

                                        计算机生成了可选文字:页网狮一

        人性化,人性化,这都是我们随时挂在嘴边的,可是真正做到的又有几次呢?“全心全意为人民服务”好像成了一个沧桑无力的口号。不过不要绝望,起码还有这个口号!相信通过他人的、自己的各种经验和努力,“全心全意为人民服务”这个现在苍白的口号一定会成为我们的实际行动!


 -------------------------------------言语&&思想--------------------------------------------


        情景再现:

        老师:这个预留字段可以去掉吗?

        学生:当初师哥给我讲的时候说这个是(这样那样一堆话)...

        老师(打断):你只要告诉我能不能去就行。

        学生:加上这个是为了(又是一堆理由)...

        老师(着急了,再次打断):你就告诉我俩字,能还是不能!

        学生:...

        老师:这就行了,然后你来说说你原来这样做的理由。

        学生:(一堆话)...

 

        短短的一个半小时,该情景发生了N次并且是不同的学生!关于这个情景对话,也许大家不了解为什么我要说说这个情景。原因就是一段简短但是频发的对话,暴露了我们很多人的思维方式!


        当别人在问我们问题时,我们总是顾左右而言他(潜意识中),这不是我们不想去认真回答问题,只是我们在极认真的为自己辩护解释是每个人都需要并且也都有权利拥有的,可是逃避问题式的辩护却是阻挡我们剖析自己,完善自己最大的障碍!


        敢于直面问题,敢于聆听与自己意见不同的声音,当然,也更要敢于承认自己的错误,适当的解释可以清晰我们的思路,即便是错误的解释也会是我们的成长;但是争论式的狡辩,那只能说明,我们还不够成熟,还不够勇敢。没有成熟的面对另一种声音;没有勇敢的承认自己可能有问题!所以,我们还有很长的道路,不要着急,稳稳地,快速前进吧!



---------------------------------------总&&结--------------------------------------



        最后的最后,很简单的一句话总结本次会议的要点吧:思想决定行为,行为决定命运!

 


  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 30
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值