不一样的视角,程序员世界里的环保

摘要: 我们身边有很多可以做的技术环保工作。比如说,在Linux下少用root用户,SQL的时候,delete前先select,这样,你就不会做出一些让你后悔的事。不会让你重头来过,从而至少不会浪费电能。写代码的时候要很小心管理好内存,以及各种资源,和线程并发,组织好的你的代码中的业务逻辑,做好单元测试,自动化回归测试等。

我们身边有很多可以做的技术环保工作。比如说,在Linux下少用root用户,SQL的时候,delete前先select,这样,你就不会做出一些让你后悔的事。不会让你重头来过,从而至少不会浪费电能。写代码的时候要很小心管理好内存,以及各种资源,和线程并发,组织好的你的代码中的业务逻辑,做好单元测试,自动化回归测试等。这样你就可以少一点遇到BUG,在遇到BUG时少一些时间去做调查。操作电脑的时候少下一些破解软件,少访问一些奇怪的网站,这样,你就会少中一些病毒,少一些损失,少一些重做系统。一样可以节省电能,最重要的是可以节省你的很多时间,让你可以去做一些更有价值 的事情。
当然,除此之外,我们更应该做为一个大气的,高瞻的环保主义者,比如下面的事情:
拒绝IE6。如果你坚决不用IE6,并影响你身边的人,让他们升级IE6,尝试Chrome 或 Firefox,多告诉一下自己身边的朋友,怎么设计口令,怎么在互联网上保护自己的隐私和安全,怎么防木马,这样就能少一些问题,少装两次系统,就能省 一些电,也就能多一些时间去做一些更有意义的事。也是在为整个世界整个人类做贡献。
663b13384066059ff8e30365ab80d7c12d711a95
拒绝抄袭和山寨。如果你鄙视那些赤祼祼地抄袭者,不使用他们的产品,有的人会说你就是想标榜自己的高 尚,ZB,假高尚,大家会说你没有必要。其实并不是,你这样做,其实是为了“环保”,为了“保护一个健康的IT环境”,虽然你没有创新,但是你的行为却是在鼓励创新的环境,这样,如果当整个大环境都是在创新文化影响之下,才会更健康,技术人员也才会被尊重,而我们自己最终会受益。虽然只是抑制抄袭和山寨, 但是我们间接地为社会做了贡献。
43bfe5fac18bc222462f3b8ab986382d93a73e2b
拒绝浮燥。比如:浮燥地创业者们,被风投们一轮一轮地压榨。为了让风投满意,牺牲自己的初衷,去找水军刷排 名,去发垃圾邮件,去烧钱买吆喝,制造虚假的繁荣,等等。另外,少去追那些新的技术,少一些浮夸,不要开口闭口的就是海量数据,高性能,与其这样,还不如多静下心来研究一下那些十来年的技术,思考一下自己身边的问题,一步一步走踏实,少摔几个跟头,这样,你也就能 多一些能力,多一些自信,也就能多做一些事,多解决一些问题,你的职业生源走好了,也就很环保了。
445685757475155bce7f1930d07deb1859990d38
环保需求。当我们分析需求的时候,如果我们能做到不要像“这是到底是谁的错” 一文中那样的来者不拒,如果我们在面对需求能多问这样几个问题:为什么要有这样的需求?这个功能主要能解决什么样的问题?为什么不是另外那一种?可不可以简化一下?其实,我们并不需要创新,只需要真正地问好这几个问题,我们就可以少看着一些弯路,少一些苦逼的加 班,少一些内耗,少一些埋怨,也就可以为这个社会节省下一些资源,从而环保。
5d7ce8e28564874fb36d683603214c988cc7cac6
环保开发。当我们做设计写代码的时候,如果我们多花一些时间去思考一下,我们就可以少一些代码(参看“多一些时间少一些代码”)。 如果我们在一开始多思考一下,不要急着马上去用迭代的方式认识世界,多思考一下怎么把复杂的东西解藕,把复杂的东西简化,怎么做出一个优雅的设计,怎么让我们的程序少一些tricky的东西,怎么让我们的程序变得更简洁,更清楚,更直。
在一开始思考一下未来需求可能的变化,未来软件需要怎么测试,未来的系 统需要怎么的运维,那么,我们可以少一些返工,少一些重构,少欠一些债,少一些低级错误,少承担一些系统上线后的压力。那么,我们同样可以为这个社会节约 一些资源。说得再直白一点,你用更少的代码产生出更高的效益,少耗一些CPU,就能省一些电,间接地保护了环境。
原文链接

转载于:https://www.cnblogs.com/jzy996492849/p/6928870.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/395586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle查出连续5行,Oracle期末考试复习题2

复习题一、填空题:1. Oracle EnterpriseManager是一个基于 B/S的框架系统。2.Oracle数据库的存储结构分为物理结构和逻辑结构。3.在游标或者游标变量打开后还没有进行第一次提取时,%found属性为null。4. 在oracle中已c…

selinux会阻碍挂载嘛_为什么追求完美可能会阻碍您成为新手Web开发人员

selinux会阻碍挂载嘛by Rick West由里克韦斯特(Rick West) 为什么追求完美可能会阻碍您成为新手Web开发人员 (Why striving for perfection might be holding you back as a newbie web developer) I am a perfectionist. Or, at least, I like to think I am. Either way, I’…

MySQL优化的一些基础

在Apache, PHP, mysql的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接 影响到论坛的速度和承载量!同时,MySQL也是优化难度最大的一个…

oracle 会话 lock,相克军_Oracle体系_随堂笔记014-锁 latch,lock

1、Oracle锁类型锁的作用latch锁:chain,链LOCK锁排他锁(X)共享锁(S)2、行级锁:DML语句事务锁TX锁的结构事务锁的加锁和解锁过程只有排他锁不影响读(CR块)3、表级锁:TM行级排他锁(Row exclusive)RX锁当我们进行DML时,会…

电线之间:采访Microsoft Edge性能PM Nolan Lawson

by Vivian Cromwell通过维维安克伦威尔(Vivian Cromwell) 电线之间:采访Microsoft Edge性能PM Nolan Lawson (Between the Wires: An interview with Microsoft Edge performance PM Nolan Lawson) I interviewed Nolan Lawson, Web Performance PM at Microsoft E…

swift菜鸟入门视频教程-09-类和结构体

本人自己录制的swift菜鸟入门,欢迎大家拍砖,有什么问题能够在这里留言。主要内容:类和结构体对照 结构体和枚举是值类型 类是引用类型 类和结构体的选择 集合(collection)类型的赋值与复制行为视频地址:百度…

oracle的集合操作符,[Oracle] Oracle的集合操作符

Oracle的集合操作包括: union , intersect , minus.[例子]假设有两个表a,b如下:SQL> select * from a;COLA----------123SQL> select * from b;COLB----------345union : 得到两个结果集的并集(不含重复值)SQL> select * from a2 union3 select * from b;COLA------…

锁大全与 GDB调试

1.innodb_lock_monitor:打开锁信息的方式 mysql> create table innodb_lock_monitor(id int) engineInnoDB; Query OK, 0 rows affected, 1 warning (2.29 sec) mysql> begin work; Query OK, 0 rows affected (0.00 sec) mysql> update t set val val 1…

[笔试面试题] 8-面向对象篇

面向对象篇 1 面向对象与面向过程的含义以及区别? 面向对象 面向对象是把数据及对数据的操作方法放在一起,作为一个相互依存的整体,即对象。对同类对象抽象出其共性,即类,类中的大多数数据,只能被本类的方法…

管理员所有权代码_为什么代码所有权糟透了,您永远不应该在有实践的地方工作...

管理员所有权代码Code ownership sucks.代码所有权糟透了。 It limits code and stunts your growth as a developer.它限制了代码并阻碍了您作为开发人员的成长。 Let’s look at what code ownership is and why it destroys individuals and organizations.让我们看看什么…

AngularJS 自定义控件

AngularJS Custom Directives 好讨厌不带日期的博客,而且说得好啰嗦 自定义指令介绍 AngularJS 指令作用是在 AngulaJS 应用中操作 Html 渲染。比如说,内插指令 ( {{ }} ), ng-repeat 指令以及 ng-if 指令。 当然你也可以实现自己的。这就是 AngularJS 所…

oracle 监听加密 tcps,通过oracle wallet配置listener tcps加密

一 配置客户端和服务端的wallet2端配置方法一致,相互添加证书orapki wallet create -wallet "/u01/oracle/wallet" -pwd Wdkf984jkkgekj434FKFD -auto_login_localorapki wallet add -wallet "/u01/oracle/wallet" -pwd Wdkf984jkkgekj434FKFD …

[财务知识] debt debit credit 的区别于联系

https://blog.csdn.net/sjpljr/article/details/70169303 剑桥词典解释分别为: Debt [C or U ] n.something, especially money, which is owed to someone else, or the state of owing something借款,欠款;债务He ran/got into debt ( borr…

SpringMVC视图解析器

SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器。当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着 Spring会分析看…

TIOBE 10月编程语言排行榜 : GO 问鼎本年度语言 ?

距离2016年度编程语言的公布只剩3个月了,谁将夺得桂冠? 与去年同期相比,2016年只有Go语言和Groovy语言的增长率超过了1%。 需要注意的是,Groovy语言2015年以一个爆炸性增长的收尾,所以到2017年1月左右的增长速度可能不…

校友邮箱_freeCodeCamp校友网络:FCC校友的自主指导网络

校友邮箱by peterWeinberg彼得温伯格 freeCodeCamp校友网络:FCC校友的自主指导网络 (The freeCodeCamp Alumni Network: A homegrown mentorship network for FCC alumni) For the last year, I’ve been spending nearly all my free time learning to code. I’v…

oracle severity,ORACLE10G如何清除OEM下的历史警告信息

ORACLE10G如何清除OEM下的历史警告信息问题描述:OEM的HOME页面可以显示ORACLE的报警信息,但报警事件清除后该信息不会自动清除。随着时间的增长,信息量逐渐加大,解决方法是手工予以清除。SampleCluster DatabaseTablespaces FullT…

使用 ReSharper,输入即遵循 StyleCop 的代码格式化规范

StyleCop 可以帮助强制执行代码格式化规范,ReSharper 可以帮助你更高效地编写代码。把两者结合起来,你便能高效地编写符合团队强制格式化规范的代码来。 本文就介绍如何使用 ReSharper 来高效地遵循 StyleCop 的代码格式化规范。 本文内容 安装插件 Styl…

Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述

数据库备份恢复。巡检须要关注的对象设置: 1.数据库名称,以及DBID; --dbid在v$database中 SYSORCL>select dbid,name from v$database; DBID NAME ---------- --------- 1385095721 ORCL 2.控制文件的位置; s…

Python迭代器

一、文件迭代器 readline()每次读取文件的一行,每次调用readline方法会自动到下一行,到文件末尾时,会返回空字符串。 _next_()方法同readline()一样,只是到最后一行会引发stopiterat…