拼湊代碼與編程

拼湊代碼與編程(Hacking Vs. Programming)之間有什么不同?我聽說過的一個觀點是駭客可以在短時間內編許多代碼,但是一旦發生變更,這些代碼就要完全重寫。而程序員也許會花更多的時間來編碼,但發生變化的時候,不需要全部重寫就可心迅速且輕松地安裝。我聽說這個來源歸于谷歌的Maggie Johnson的觀察。我覺得這聽上去很可靠。拼湊常常被描述為“粗制濫造”。你把一堆代碼放在一起并且在過程中將其編排好。一些駭客很聰明,他們可以在非常短的時間內做到一些令人驚異的事情。然后他們就會進行下一件事情。又或者他們會由于沒有其他人可以很好地理解以固定、修改或改善它而繼續同一樣事情。工作保障?也許有,但對于使這個軟件,尤其是付了費的人來說卻不是件好事情。

我有時會做點拼湊,也就是把一些東西在短時間內無具體計劃地弄到一起。我并不是個天才,所以結果自然很糟糕。執行很糟糕,可維護性很糟糕,沒有人會想用它。我猜這也許會使人對此有偏見。我更喜歡編程—思考,計劃,在井井有條的模式中進行。在我教學的第一年(很久以前了)我就清楚了這之間的區別。當時我在致力于我自己的一個小游戲編程并且決定將它展示給我的學生看。當我解釋我是如何圍繞若干可能使程序更容易擴張的常數來編程時,一名學生轉頭對另一名學生說:“看,他才剛剛開始就已經在為之后所要增加的作計劃了。” 在我看來這就是真正編程的要素之一。

我在大學主修系統分析。在那個時候,計算機科學專業和軟件工程專業都還不成熟。但我的教授將一個概念灌輸進了我們的頭腦里,那就是程序必須要可維護并且可擴展的。我們從第一天起就被教導,從某種意義上說,程序的生命不會結束,只可能被拋棄。更有可能,在某一時刻你宣布勝利或者諸如此類。但別人會維持這些程序,擴充并且接受它們。使他們生活得更輕松是件好事。想一想黃金法則—你會想要編寫你正在修改的代碼的程序員編程序。我想那就是這樣被寫出來的。

目前駭客受到了廣泛的關注。他們就是那些在籃球比賽中扣籃并被精彩回放的運動員們。但籃球比賽的勝利是來自于團隊合作的基礎上的—隊員們的配合,通過運球、上籃、傳球將球傳給主力。從長遠來看,我們需要更多真正的程序員來編出穩固的、可靠的,當改變發生時不必重頭來過的程序。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452038.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452038.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452038.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

實體間的聯系

(1)兩個實體型之間的聯系: ①一對一聯系(1∶1) ②一對多聯系(1∶n) ③多對多聯系(m∶n) (2)兩個以上的實體型之間的聯系: 一般地…

【文章】孝心無價 作者:畢淑敏

我不喜歡一個苦孩子求學的故事。家庭十分困難,父親逝去,弟妹嗷嗷待哺,可他大學畢業后,還要堅持讀研究生,母親只有去賣血……我以為那是一個自私的學子。求學的路很漫長,一生一世的事業,何必太在…

git源碼安裝

安裝依賴yum -y install perl-ExtUtils-MakeMaker tcl libcurl-devel curl-devel expat-devel yum-y install gettext-devel openssl-devel zlib-devel libcurl4-openssl-dev xmlto yum -y install asciidoc docbook2X openjade texinfo perl-XML-SAX nss curlcd /usr/bin…

chrome 開啟 JSONview 方法,讓json數據格式化顯示

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 在瀏覽器上作接口測試的時候看到json 格式的數據是密密麻麻的一片,眼睛都花了.. 如: 設置下chrome 瀏覽器就好了…

聯系的度

聯系的度:參與聯系的實體型的數目 2個實體型之間的聯系度為2,也稱為二元聯系; 3個實體型之間的聯系度為3,稱為三元聯系; N個實體型之間的聯系度為N,也稱為N元聯系

Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate

安裝jsonpath:>pip install jsonpath 報錯:Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host‘pypi.org’, port443): Max retries exceeded with url: /simple/p…

百度貼吧10億量級LAMP架構分享

導讀:天下武功,唯快不破。對日益激烈的互聯網競爭你所擁有的利器就是快!本文來自百度貼吧的LAMP解決方案介紹,摘錄至此旨在研究分享,看看其是如何全面支持快速迭代的。 文章內容如下: 貼吧是功能性產品&a…

python基礎-PyYaml操作yaml文件

yaml語法 格式 它的基本語法規則如下 大小寫敏感 使用縮進表示層級關系 縮進時不允許使用Tab鍵,只允許使用空格。 縮進的空格數目不重要,只要相同層級的元素左側對齊即可 YAML 支持的數據結構有三種 1、對象:鍵值對的集合,又稱為映…

N1CTF 塞題vote分析

N1CTF 塞題vote分析:這個題是一個uaf的漏洞題,我們先看看漏洞(如下圖),這兩部分是很明顯的對比的啊。當單獨的一個count數組的數據和堆里的數據相同時候,就會釋放堆,堆釋放后的count還會有指針指…

String.valueOf()方法與toString()方法的區別

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 兩者都是把ObJect對象轉化為String 類型。 2.string.valueof()方法有作非空判斷,在內部也是調用的toString()方法&#…

網絡爬蟲--11.XPath和lxml

文章目錄一. XML1. XML 和 HTML 的區別2. XML文檔示例3. HTML DOM 模型示例4. XML的節點關系二. 什么是XPath?1. 選取節點2. 謂語(Predicates)3. 選取未知節點4. 選取若干路徑5. XPath的運算符三. lxml庫1. 初步使用2. 文件讀取四. XPath實例…

實體與屬性間的劃分原則

為了簡化E-R圖的處置,現實世界的事物能作為屬性對待的,盡量作為屬性對待。 兩條準則: (1)作為屬性,不能再具有需要描述的性質。屬性必須是不可分的數據項,不能包含其他屬性。 (2&…

編程開發之--java多線程學習總結(5)

4、對繼承自Runnable的線程進行鎖機制的使用 package com.lfy.ThreadsSynchronize;import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;public class TicketSellSolution4 implements Runnable {private static int num 50;//創建一個…

軟件測試不是一個功能

今天在工作中我對一個同事說,PyDev 2.5.0現在對TDD(測試驅動開發)提供了很酷的支持了。我并不是一個對TDD很癡迷的倡導者,對其它事物也一樣,但仍不免激起了一場討論。這個家伙,讓我們暫叫他約翰&#xff0c…

Linux 操作系統基礎知識

1.操作系統總體介紹 ?CPU: 就像人的大腦,主要負責相關事情的判斷以及實際處理的機制。查詢指令: cat /proc/cpuinfo?內存: 大腦中的記憶區塊,將皮膚、眼睛等所收集到的信息記錄起來的地方,以供CPU進行判斷…

Transaction 那點事兒,Spring事務管理

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Transaction 也就是所謂的事務了,通俗理解就是一件事情。從小,父母就教育我們,做事情要有始有終&…

網絡爬蟲--12.【XPath實戰】獲取百度貼吧中的圖片

用XPath來做一個簡單的爬蟲,我們嘗試爬取某個貼吧里的所有帖子,并且將該這個帖子里每個樓層發布的圖片下載到本地。 #codingutf-8 import requests from lxml import etree import jsonclass Tieba:def __init__(self,tieba_name):self.tieba_name tie…

合并分ER圖產生的沖突

合并分E-R圖 各個局部應用所面向的問題不同,各個子系統的E-R圖之間必定會存在許多不一致的地方,稱之為沖突。 子系統E-R圖之間的沖突主要有三類: ①屬性沖突 ②命名沖突 ③結構沖突①屬性沖突 屬性域沖突,即屬性值的類型、取值范圍…

8.類定義、屬性、初始化和析構

類定義 類 是一個獨立存放變量(屬性/方法)的空間 封裝: 類可以把各種對象組織在一起,作為類的屬性,通過 . (點)運算符來調用類中封裝好的對象 屬性: 變量在類中稱為屬性,但是類中的屬性不僅僅只包含變量&#x…

GPL以及Copyleft協議使用率下降明顯

根據最新的協議數據分析,不光是GPL,另外一些copyleft(AGPL,LGPL 等等)協議的使用率在不斷下降,并且下降的速度越來越快。 這結果是在意料之中的,因為GPL非常的復雜。越來越多的個人和企業將選擇…