How to 解決乙個問題,找乙個庫,評價乙個庫

2022-02-24 05:44:43 字數 1085 閱讀 6382

一步一步回答完下列的問題,我相信你的答案就呼之欲出了:

準備-1.定義要解決的這個問題

-2.網上怎麼分解這個問題,同行怎麼分解這個問題

檢索-1.問題複雜度,專案工期,專案成員的能力,可以把握的資源

-2.開源專案、朋友使用推薦、同行解決方案

需求-1.使用規模和限制、使用時間

-2.對源**(需要新增外部庫的**)的熟悉程度,可更改程度

橫評外部

-1.口碑:大家都說好不一定好,大家都說不好,那就好不到哪去了

-2.目標清晰:這個庫解決問題是否清晰

-3.可靠:庫所依賴的工具,語言是否可靠通用

-4.熱度和準確度:搜尋第一頁能找到你要的內容嗎?第一頁有多少是你要的資訊

-5.授權:分發的license,對私人專案和公司專案影響最大

-6.整合的複雜度(高度模組化、最小入侵、對外部少假定)

-7.有可編譯、可調式的原始碼

-8.活躍:庫目前是否持續更新,作者是否接受了其他貢獻者的pull-request,

-9.**成熟度:有明確的分支,還是只有master

-10.原始碼提供是zip,還是fork,還是bin

-11.build步驟明確簡單嗎?build工具你需要經常用到嗎?能否整合到自動化build?

內部-1.庫對外的使用方便嗎?引用的檔案多嗎?

-2.介面清晰,而且命名規範,讀起來少嗎?

-3.庫發布的形式靈活嗎?lib/dll/md/mt/x86/x64

-4.庫的安全感(朋友推薦,靠譜程度)

-5.客戶支援,維護工作量,可移植性

-6.學習曲線:網上分布中高低階教程分別都是些什麼人,容易找到嗎

-7.錯誤處理,穩定性,效能開銷,工具

-8.日誌系統,應一致處理執行時訊息,易於整合到現有的日誌系統。更好的應該是給予可以調節從高到低輸出的開關

-9.記憶體管理(沒有不必要的開銷,所有分配和釋放職責清楚、當分配超出時應該通知外部)

-10.對i/o訪問處理,第三方庫不應該自己猜測使用者的輸入方式,譬如自己用fopen

-11.有之前發布的release note嗎

-12.未來:有發展方向的roadmap嗎

how to 編寫乙個Iterator

首先,考慮編寫iterator,我們需要基於哪幾個方面的考慮 由於迭代器會訪問list的私有域,因此,可以有2種方式 一種的改變list的域的可見性,讓其變成public或friendly 預設的可見性,即包可見性 的,不過這違反了良好的物件導向程式設計的羈絆原則,它要求資料盡可能的隱蔽。另外一種是...

去解決乙個問題

你自己可以選擇乙個有挑戰性的題目去攻克嘛,機器學習裡面的,不就行了。伺服器裡面也是的嘛。是的這樣我覺得比較有意思一點,是的,如果將來你真的想進入某乙個領域,你自己先主動解決乙個問題。永遠記住一點,永遠去解決問題,原先激情的你很注重這種結果,現在你踏實學習反而只注重過程不注重結果了。你自己主動去解決問...

乙個初學者的找的乙個小問題 翻牌問題

這裡有100張寫著數字1 100的牌,並按順序排列著。最開始所有牌都是背面朝上放置。某人從第2張牌開始,隔1張牌翻牌。然後第2,4,6 100張牌就會變成正面朝上 接下來,另乙個人從第3張牌開始,隔2張牌翻牌 原本背面朝上的,翻轉成正面朝上 原本正面朝上的,翻轉成背面朝上 再接下來,又有乙個人從第4...