搜尋
首頁資料庫mysql教程程序员编程的10个实用技巧

程序员编程的10个实用技巧

Jun 07, 2016 pm 03:30 PM
實用技巧程式設計師程式設計

不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?这种情况的产生是有科学依据的。高谈阔论能让我们的大脑重新有条理地组织问题。在这种情况下,你的聊天对象就是“橡皮鸭”。团队中的每个人都应该积极主动乐意地成

不知道各位有没有这样的经历,当你正在给别人描述问题的时候,突然灵机一动想到了解决方案?这种情况的产生是有科学依据的。高谈阔论能让我们的大脑重新有条理地组织问题。在这种情况下,你的聊天对象就是“橡皮鸭”。团队中的每个人都应该积极主动乐意地成为彼此的“橡皮鸭”。有时候,如果你幸运的话,你的“橡皮鸭”搞不好还能给出有效的建议呢。

2.快速信息反馈

一旦写好代码就要尽快得到反馈。当你和我们在HubSpot一样,收到大量的Pull请求,不妨做些细微的改动,然后立马打开PR,讨论设计和代码。和你的“橡皮鸭”交流一下,请他们提点建议。要知道,迭代原型可远比纠正成品要节约成本。

有的团队结构,最初可能并不要求写代码。因为实体模型、白板设计等等,这些成本都比一下子删改上千行代码的成本要低。

3.首先搞定端至端

当我们在解决问题和完成功能时,很容易深入到细节问题的研究。这里有一个好方法,能让我们尽快搞定端至端。

例如,假设我需要在网页上设置一个功能,能在用户点击之后做一些复杂运算并把结果存储到服务器中。有些童鞋可能想着想着就先去研究这个运算方式了。我的做法是,先为用户的操作设置事件处理程序,用一些固定的值来模拟计算,然后调用API向服务器请求数据。这样一来,我们就没必要先考虑每一个具体细节,可以直接端至端地测试系统。同时,这个快速的反馈回路有助于我们更快地迭代和写代码。一开始出来的设计可能并不完美,但是通过亲眼目睹各个部件是如何组合的,我们将会对整个系统有一个更清晰的了解,做出最优的设计。

在HubSpot,在产品还没完成之前,我们就先将功能推出去了,这样我们就可以及时进行内部测试。这是对此端至端概念更进一步的深化。

4.适时离开电脑

有时候在调试时,console.logging无处不在,最好的方法就是测试代码。也有的时候,你绞尽脑汁呕心沥血地想要解决一些复杂的设计和问题而不得其法,那么你最好先暂时离开一会。虽然这听上去有点不可思议,但是有的时候,我的确是在厕所想到了问题的症结所在。我的爱人,她也是一枚软件工程师,曾告诉我,当她睡着的时候常常会有各种奇思妙想(有时闭上眼睛天马行空,有时梦里各种方案纷至沓来)。打个盹、散散步、上个厕所……都可以,总之适时离开电脑。

5.自动化

高效的开发人员会将很多繁琐的进程自动化。不过一直以来很多人都认为自动化只能节约时间,这是一个很普遍的误解。其实不仅如此,自动化最大的优点是让你的思想策马奔腾无所阻碍,朝着完成目标的方向奋勇前行。

举个例子,假设我需要经常运行一个相当复杂SQL查询,而过程真心很长,每次又都要重新输入一遍。我当然不会傻乎乎的这么做,我会使用类似于Alfred的程序保存于剪贴板中,或者自己想个办法节约一些步骤。于我而言,自动化是一种更为积极的工作态度。

6.自己动手,“丰衣足食”

当我们在设计新代码时,都希望自己能写出完美的代码,发现每一个抽象概念。但是当我们致力于设计新代码时,抽象概念却又成为了干扰因素,即便这些抽象再怎么显而易见、易于设计。我的做法是,不要立刻思考各种抽象概念,先简单机械地复制一些代码作为原型。这能让我迅速上手新项目,效果比我仅仅只是纸上谈兵要好,之后所能做的抽象发散也更广阔。不过,可不要光复制,还要清理代码,不然它们很快就会变成一笔烂摊子。

7.运动很重要

写代码其实并不能燃烧很多卡洛里,因此我们必须强迫自己动起来。可以不时地伸伸懒腰,经常性地走来走去。在HubSpot,我们有一个俱乐部,我每周会有三天在午饭前去健身。此外,我的习惯是每隔一小时左右做几个俯卧撑,拉伸肌肉,保持活力。

因为久坐我以前经常肩膀疼背疼,但是自从立式桌的出现,这些都成为了历史。如果你也有这方面的烦恼,不妨试一下这个方法,起效快、效果好。HubSpot为我们提供的电动办公桌可以在立式和坐式之间转换。当然如果放在家里,1000美元这样一顶桌子可能太奢侈了,所以我就在网上买了个二手的,只要40美元。

8.阅读前文

阅读别人的文档、技术文章和代码常常让我抓狂。为了不气得抓耳挠腮、捶胸顿足,不妨先阅读前文,以期更多的细节内容。程序中的概念很难用线性方式表达出来。阅读前文能让我们更清楚文章内容和代码在说什么。

9.一丝不苟做笔记

有些组织化程度较低的开发人员可能会对这个技巧嗤之以鼻。知道我是怎么做的吗?我会将每一天我做了什么、遇到的问题以及我是如何解决这些问题的等等,都详细地记录下来。然后当我再次碰到类似的问题时,那就再也不会只能“执手相看泪眼,竟无语凝噎”了。这些笔记成为了我无价的财富,因为我可以运用之前的经验和智慧来解决现在的问题。而且要是碰到1对1绩效考核时,我也能迅速想起自己为公司所做的贡献和自己的成就。

10.给第二天做个计划

要么是下班回家之前,要么是晚上睡觉前,我都会在笔记本中为第二天列个待办事项列表。这样,当这一天来临的时候,我的目标就很明确,知道自己要做什么,专心致志,聚精会神,朝着目标前进。知道吗,这种方法让我完成任务的速度更快质量更高,这样我就有更多的时间休息了。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
MySQL中的存儲過程是什麼?MySQL中的存儲過程是什麼?May 01, 2025 am 12:27 AM

存儲過程是MySQL中的預編譯SQL語句集合,用於提高性能和簡化複雜操作。 1.提高性能:首次編譯後,後續調用無需重新編譯。 2.提高安全性:通過權限控制限制數據表訪問。 3.簡化複雜操作:將多條SQL語句組合,簡化應用層邏輯。

查詢緩存如何在MySQL中工作?查詢緩存如何在MySQL中工作?May 01, 2025 am 12:26 AM

MySQL查詢緩存的工作原理是通過存儲SELECT查詢的結果,當相同查詢再次執行時,直接返回緩存結果。 1)查詢緩存提高數據庫讀取性能,通過哈希值查找緩存結果。 2)配置簡單,在MySQL配置文件中設置query_cache_type和query_cache_size。 3)使用SQL_NO_CACHE關鍵字可以禁用特定查詢的緩存。 4)在高頻更新環境中,查詢緩存可能導致性能瓶頸,需通過監控和調整參數優化使用。

與其他關係數據庫相比,使用MySQL的優點是什麼?與其他關係數據庫相比,使用MySQL的優點是什麼?May 01, 2025 am 12:18 AM

MySQL被廣泛應用於各種項目中的原因包括:1.高性能與可擴展性,支持多種存儲引擎;2.易於使用和維護,配置簡單且工具豐富;3.豐富的生態系統,吸引大量社區和第三方工具支持;4.跨平台支持,適用於多種操作系統。

您如何處理MySQL中的數據庫升級?您如何處理MySQL中的數據庫升級?Apr 30, 2025 am 12:28 AM

MySQL數據庫升級的步驟包括:1.備份數據庫,2.停止當前MySQL服務,3.安裝新版本MySQL,4.啟動新版本MySQL服務,5.恢復數據庫。升級過程需注意兼容性問題,並可使用高級工具如PerconaToolkit進行測試和優化。

您可以使用MySQL的不同備份策略是什麼?您可以使用MySQL的不同備份策略是什麼?Apr 30, 2025 am 12:28 AM

MySQL備份策略包括邏輯備份、物理備份、增量備份、基於復制的備份和雲備份。 1.邏輯備份使用mysqldump導出數據庫結構和數據,適合小型數據庫和版本遷移。 2.物理備份通過複製數據文件,速度快且全面,但需數據庫一致性。 3.增量備份利用二進制日誌記錄變化,適用於大型數據庫。 4.基於復制的備份通過從服務器備份,減少對生產系統的影響。 5.雲備份如AmazonRDS提供自動化解決方案,但成本和控制需考慮。選擇策略時應考慮數據庫大小、停機容忍度、恢復時間和恢復點目標。

什麼是mySQL聚類?什麼是mySQL聚類?Apr 30, 2025 am 12:28 AM

MySQLclusteringenhancesdatabaserobustnessandscalabilitybydistributingdataacrossmultiplenodes.ItusestheNDBenginefordatareplicationandfaulttolerance,ensuringhighavailability.Setupinvolvesconfiguringmanagement,data,andSQLnodes,withcarefulmonitoringandpe

如何優化數據庫架構設計以在MySQL中的性能?如何優化數據庫架構設計以在MySQL中的性能?Apr 30, 2025 am 12:27 AM

在MySQL中優化數據庫模式設計可通過以下步驟提升性能:1.索引優化:在常用查詢列上創建索引,平衡查詢和插入更新的開銷。 2.表結構優化:通過規範化或反規範化減少數據冗餘,提高訪問效率。 3.數據類型選擇:使用合適的數據類型,如INT替代VARCHAR,減少存儲空間。 4.分區和分錶:對於大數據量,使用分區和分錶分散數據,提升查詢和維護效率。

您如何優化MySQL性能?您如何優化MySQL性能?Apr 30, 2025 am 12:26 AM

tooptimizemysqlperformance,lofterTheSeSteps:1)inasemproperIndexingTospeedUpqueries,2)使用ExplaintplaintoAnalyzeandoptimizequeryPerformance,3)ActiveServerConfigurationStersLikeTlikeTlikeTlikeIkeLikeIkeIkeLikeIkeLikeIkeLikeIkeLikeNodb_buffer_pool_sizizeandmax_connections,4)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器