Notice (8): file_put_contents(): Write of 272 bytes failed with errno=28 No space left on device [CORE/src/Log/Engine/FileLog.php, line 140]

Notice: file_put_contents() [function.file-put-contents]: Write of 1108 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 284 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 2559 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 5437 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 3152 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 96 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 2790 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (512): long cache was unable to write 'f75dd6f0e77572090262e85eeebf8bd6' to Cake\Cache\Engine\FileEngine cache [CORE/src/Cache/Cache.php, line 275]

Notice: file_put_contents() [function.file-put-contents]: Write of 2586 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): unserialize() [<a href='https://secure.php.net/function.unserialize'>function.unserialize</a>]: Error at offset 85980 of 86005 bytes [APP/Controller/NewsController.php, line 5571]

Notice: file_put_contents() [function.file-put-contents]: Write of 2490 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): unserialize() [<a href='https://secure.php.net/function.unserialize'>function.unserialize</a>]: Error at offset 85980 of 86005 bytes [APP/Controller/NewsController.php, line 5571]

Notice: file_put_contents() [function.file-put-contents]: Write of 2490 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
程序员的瑞士军刀综合症 - 站长搜索
首页 > 资讯列表 > 科技资讯 >> 业界动态

程序员的瑞士军刀综合症

业界动态 2014-06-01 08:55:10 转载来源: 网络整理/侵权必删

AS网站目录(www.adminso.com):程序员的瑞士军刀综合症 首先,如果你觉得这篇文章更像是在发牢骚,我先向你表示道歉。这个瑞士军刀综合征的灵感是在我跟很多项目经理、客户,甚至其他程序员的接触中备受打击的情况下想出来的

AS网站目录(www.adminso.com):程序员瑞士军刀综合症

首先,如果你觉得这篇文章更像是在发牢骚,我先向你表示道歉。这个瑞士军刀综合征的灵感是在我跟很多项目经理、客户,甚至其他程序员的接触中备受打击的情况下想出来的。我十分沮丧于他们的视野狭窄。我认为他们都有瑞士军刀综合征。

瑞士军刀

“瑞士军刀”这个词通常用来比喻一个东西有很多很丰富的用途,能够在很多场合下使用。

虽然这种东西非常有用,但它也有一些需要你警惕的地方。一个工具如果有太多的活动部件组合而成,也许最终它什么都干不了。一个工具试图什么功能都有,也许它没有一样功能能做好。

在我的经验中,这个道理在软件开发中同样适用。而且是经常出现类似问题,程序员试图堆砌一堆模块和代码,只是因为它们很酷;项目经理试图在项目开发过程中增加新的功能,只是因为”X”或”Y”功能看起来会让软件更有价值。客户会要求额外的软件特征和功用,只是因为他们读到或听说这些东西会对他们的业务起到“关键”作用。

“瑞士军刀综合征”有很多的表现:堆砌功能,过早优化,讨好无知客户等。但问题的根源是我们对软件的认知和对价值的评估:

功能多=价值大

然而,在现实生活中,在大多数情况下,反过来才是真理。代码越复杂,软件越庞大,它的价值反而会越小。我个人的一个证明这个说法的例子是一个小的Demac Media公司使用的管理软件。

最初这个应用非常简单:我们需要的是:

1)能看到所有任务都分配到哪个团队里

2)任务按周或按2周列表显示,基本的任务列表

我用一个周末把这些简单的功能实现。周一给经理演示的时候,他认为这个软件会非常有用。

但是,如果能…会更好

于是,瑞士军刀综合征发病了:伴随着一个“但是”。其它团队也要使用这个软件。就在他们还没有开始使用之前,我们就收到了一大堆他们“需要”的功能列表或增强意见。突然间,我们最初的轻量级的软件就要变成了一个超级复杂的多功能应用了。

软件设计需要有清楚的目标

软件应该简单实用。仍然使用瑞士军刀的例子,一个好的软件应该像一把杀猪刀。杀猪刀有清楚明确的使用方向和特殊功用。专业屠夫会选择适合他的工作的正确的刀。我们程序员对代码的认识也应该是这样的。

干一件事,干好一件事!

软件设计也应该遵循这样的原则,这也是我们通常说的单一责任原则:

…单一责任原则描述的是每个类应该只有一个责任,这个责任应该完全封装到这个类内部。这个类提供的所有服务都要以这个责任为目标。

总结

没有哪个公司、项目经理、程序员或客户能逃脱“瑞士军刀综合征”的毒害。我们都倾向于认为“更多”就是“更好”或“更有价值”。软件应该优雅,优雅的程序是刚好漂亮的解决一个问题。我们程序员有责任让我们编写的每一行代码都最简明、优雅和实用。

标签: 程序员 瑞士军刀 综合症


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2025 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持