日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[心得]AUP Unix编程艺术知识整理

發(fā)布時(shí)間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [心得]AUP Unix编程艺术知识整理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、哲學(xué)

Unix哲學(xué):
一個(gè)程序只做好一件事
程序要能處理文本流

歸納起來一句話:
Kiss:keep it simple,stupid

展開是以下原則:

1.模塊單一職責(zé):編程本質(zhì)是控制復(fù)雜度,新聞服務(wù)端模塊化就是這樣一種例子
2.清晰勝于機(jī)巧
3.策略同機(jī)制分離,接口同引擎分離,MVC就是這樣一個(gè)例子
4.簡潔至上
5.設(shè)計(jì)考慮過濾器拼接組合,serving模塊里面process設(shè)計(jì)就是這樣一個(gè)例子
6.慎寫大程序
7.設(shè)計(jì)要可見
8.健壯緣于可見和簡潔
9.把知識疊入數(shù)據(jù)以求邏輯質(zhì)樸而健壯
10.選項(xiàng)遵循常識習(xí)慣:最少立異。c++不重載常見運(yùn)算符
11.保持輸出交互清爽
12.出現(xiàn)異常,馬上退出并給出足夠錯(cuò)誤信息,寬容接收,謹(jǐn)慎發(fā)出?,F(xiàn)在的程序加上了異常處理,不會馬上退出,但會進(jìn)行異常處理
13.程序員時(shí)間比機(jī)器時(shí)間寶貴
14.避免手工hack,讓代碼去干基礎(chǔ)的活
15.先建能運(yùn)轉(zhuǎn)起來的模型,而不是上來就碼代碼追求產(chǎn)出
16.考慮多語言,開放可擴(kuò)展和移植性

轉(zhuǎn)到UNIX實(shí)踐,看以下幾條:

  • 盡可能做成上下游無關(guān)的過濾器
  • 數(shù)據(jù)流文本可視化可序列化以及反序列化
  • 數(shù)據(jù)庫部署和應(yīng)用協(xié)議文本化
  • 前端和后端分離
  • 先讓原型運(yùn)轉(zhuǎn)
  • 盡可能降低復(fù)雜度 寬收嚴(yán)發(fā) 過濾保持最少損耗
  • 模塊單一職責(zé)
  • 二、實(shí)踐

    Unix文本格式常用約定

  • 一行一條記錄
  • 一行盡可能不超過80字符
  • 使用#注釋
  • 支持反斜杠約定
  • 冒號或者連續(xù)空白作分隔符
  • 不嚴(yán)格區(qū)分tab和whitespace
  • 使用16進(jìn)制表示數(shù)值
  • 不要對文件的一部分進(jìn)行壓縮或者二進(jìn)制編碼
  • Unix從-a 2 -z的命令行選項(xiàng)常用含義

  • -a 所有項(xiàng)
  • -b 緩沖區(qū)或者塊的大小
  • -c 參數(shù)選項(xiàng)
  • -d 調(diào)試
  • -D define
  • -e 執(zhí)行或者編輯
  • -f 文件或者強(qiáng)制
  • -h 表頭或者幫助
  • -i 初始化或者交互
  • -I 包含
  • -k 保留
  • -l 列表或者加載,登陸
  • -m 消息
  • -n 數(shù)字或者否定
  • -o 輸出
  • -p 端口或者協(xié)議
  • -q 安靜
  • -r 遞歸
  • -s 靜音或者主題
  • -t 標(biāo)記
  • -u 用戶
  • -v 顯示輸出過程或者版本
  • -V 版本
  • -w 寬度或者警告
  • -x啟用調(diào)試
  • -y 確認(rèn)
  • -z 啟用壓縮
  • Unix接口常用設(shè)計(jì)模式

  • 過濾器模式 例子:grep/cat
  • cantrip模式:無入無出,只被調(diào)用一次,產(chǎn)生退出狀態(tài)碼 例子:clear/rm/touch
  • 源模式:無入有出 例子:ls/ps
  • 阱模式:無出有入 例子:lpr/spooler
  • 編譯器模式:無入,無標(biāo)準(zhǔn)輸出,但有錯(cuò)誤輸出 例子:cc/gcc
  • ed模式:啟動傳入控制信息,同數(shù)據(jù)分離,之后與用戶交互
  • roguelike模式:通常單鍵觸發(fā)而且不回顯發(fā)出的命令,每項(xiàng)一行,帶有模式行 例子:vim
  • 引擎和接口分離模式:例子 MVC
  • CLI服務(wù)器模式:前端出發(fā),有界面io 例子:POP和http服務(wù)器
  • 各主流語言優(yōu)缺點(diǎn)點(diǎn)評

  • C 優(yōu)點(diǎn):最接近硬件效率的高級語言 缺點(diǎn):內(nèi)存管理
  • C++ 優(yōu)點(diǎn):編譯效率,OO和STL,范型 缺點(diǎn):非常復(fù)雜
  • shell 優(yōu)點(diǎn):小清新 缺點(diǎn):大了不好移植
  • python 優(yōu)點(diǎn):清新易讀好上手 缺點(diǎn):低效
  • java 優(yōu)點(diǎn):內(nèi)存管理 缺點(diǎn):效率比C/C++略遜
  • 總結(jié)

    以上是生活随笔為你收集整理的[心得]AUP Unix编程艺术知识整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。