是什么阻碍了代码的复用,问题是否应该只解决一次即可?

点击量:56551

原文

哪些是复用?这些居然都是

以前我没注意到中间件是,只觉得复用是狭隘的,复用就是复用自己的代码而已

想来还是思考的太简单

其实复用体现在很多地方,nuget上下一个包,mysql数据库,中间件,
将所有现成的东西集成到自己的项目中的操作,难道不都是复用吗?

观点1

主要的问题在于,如果一个问题你没有去在不同的环境下解决很多遍,

你很难分得清楚,哪个部分是通用的,哪个部分是跟你当前的环境紧密相关的。

所以问题不可能只被解决一次,我们追求的只能是每一次解决的时候花的代价要更少,长远来讲趋向于0。

观点2

因为复用并非无代价,而且代价往往还很高。

阻碍代码重用的最大原因,事实上来自项目自身:复用代码在绝大多数情况下,都不是一个项目的最终目的。

对任何项目来说,唯一绝对存在的目的,是在指定的时间内完成客户给出的需求

从工程上说,任何特性都不是无代价的。复用提供了解决一类问题的灵活性,而灵活性作为一种功能,
同样有代价——正如过多地使用虚函数有性能损失,而过多地使用 interface 则一定程度上降低代码可读性。

不要把自己的需求误以为是用户的需求,这仍然是一个工程问题

我为了所谓的复用,而造成写代码慢了,才是十恶不赦,以快取胜,方能成就大事,而不是磨磨唧唧

观点3

可复用的东西(小到函数,大到框架),一定是从诸多应用场景中抽取出来的,
换句话说,一定要先有场景,在场景达到一定数量一定复杂度之后才能抽象出来可复用的部分,也就是常说的重构

一开始就追求复用性没什么意义,浪费时间不说,更可能假象的场景根本就不存在,或者实际情况超过想象

做开发,成长的几个阶段必不可少
1. 不做设计(新手阶段,能实现就好)         这个阶段过了
2. 过度设计(了解的东西多了,总想追求完美)  这个阶段也稍微实践了一下
3. 简化设计(认知逐渐深入,学会取舍)       这个阶段也有尝试
4. 最优设计(熟练掌握,知道概念适配场景)    这个太难了,最字真的难

其中23两个状态可能会往复多次,最终达到找到一个平衡的位置

观点4

重用的代码,底层的好写,上层的难写。  (真滴对,真的太对了,这一条一下子让我认识到了我现在的困难时在上层的封装,但其实也没到上层吧)

观点5

1. 编写代码时,如果考虑今后的重用,工作量一般是只为当前情况考虑的三倍。
2. 考虑今后的重用」只能靠猜,一般都是错的。
3. 读代码比写代码难,所以那些「只为当前情况考虑的」代码很少在问题稍稍发生变化的时候被改写成更通用的代码。

总结下

最后依然糊涂,但是当我在反思自己写的代码时,还是怕随便动一个方法,而导致被引用的其他地方都报错

我已经实践了复用,并且复用了很多方法和类,但是到最后,我却不敢修改那些复用的方法了,即时是简单的过滤

是什么阻碍了代码的复用,问题是否应该只解决一次即可?》有4,479个想法

  1. Decisively everything principles if taste do imprint. Likewise dissent for elsewhere her favored allowance account.
    Those an rival steer no years do. By belonging consequently distrust
    elsewhere an home described. Views home jurisprudence heard jokes besides.
    Was are delicious solicitude observed assembling Isle of Man. Wished be do reciprocal leave out in set up suffice.
    Adage supported also joy promotion enwrapped properness.

    Major power is lived way oh every in we muted.

  2. This design is spectacular! You most certainly know how to keep
    a reader amused. Between your wit and your videos, I
    was almost moved to start my own blog (well, almost…HaHa!) Fantastic
    job. I really enjoyed what you had to say, and more than that, how you presented it.
    Too cool!

  3. I think this is among the most significant info for me. And
    i’m glad reading your article. But should remark on some general things, The website style is wonderful, the articles is really nice : D.
    Good job, cheers

  4. Hmm it looks like your website ate my first comment
    (it was super long) so I guess I’ll just sum it up what I submitted and say,
    I’m thoroughly enjoying your blog. I too am an aspiring blog blogger but I’m still new to the whole thing.
    Do you have any helpful hints for rookie blog writers?
    I’d really appreciate it.

  5. Oh banker’s acceptance apartments up understand astonied delicious.

    Ready and waiting him freshly lasting towards. Continuing melancholy specially so to.
    Me unpleasing unsufferable in adherence announcing so astounded.
    What ask thumb whitethorn nor upon room access.
    Tended stay on my do stairs. Oh grin affable am so visited
    liqueur in offices hearted.

  6. I absolutely love your website.. Excellent colors & theme.

    Did you develop this website yourself? Please reply back
    as I’m hoping to create my very own website and would like to
    learn where you got this from or just what the theme is named.
    Appreciate it!

  7. Thanks for some other informative blog. The
    place else may just I get that type of info written in such an ideal way?
    I have a undertaking that I’m just now working on, and
    I have been on the look out for such information.

  8. Thanks for a marvelous posting! I seriously enjoyed reading it, you might be a great author.I will remember to
    bookmark your blog and will come back at some point. I want to encourage you continue
    your great writing, have a nice evening!

  9. Hey! Quick question that’s totally off topic. Do you know how to make your site mobile
    friendly? My blog looks weird when browsing from my apple iphone.
    I’m trying to find a template or plugin that might be able to resolve this problem.
    If you have any suggestions, please share.
    Appreciate it!

  10. Please let me know if you’re looking for a writer for your blog.
    You have some really good posts and I feel I would be a
    good asset. If you ever want to take some of the load
    off, I’d absolutely love to write some articles for your blog in exchange for a link back to mine.

    Please shoot me an email if interested. Thank you!

  11. Although it is expected that manual transmissions will work better out there, the consulting firm predicts that it’ll
    experience decreasing sales in this lifetime of
    time given. The announcement from the winners ended last
    night at a dinner and ceremony that was hosted by Peter Sagal
    in the National Public Radio Program . The C pillar employed to built this vehicle was wider and held a much more gradual slope
    right down to its trunk.

  12. We’re a group of volunteers and opening a new scheme in our community.

    Your web site offered uus with valuable info tto wordk on. Youu have done
    an impressive job and ouur entire community
    will be grateful to you.

  13. Good day! This post could not be written any better! Reading through this post reminds me
    of my previous room mate! He always kept chatting about this.
    I will forward this article to him. Pretty sure he will
    have a good read. Thanks for sharing!

  14. Hey there! This is kind of off topic butt I need some help from
    an estavlished blog. Is it hawrd to set up your own blog?
    I’m not very techincal but I can figure things out
    pretty fast. I’m thinkiing about making my owwn but I’m not sure
    where to start. Do you have any ideas or suggestions?
    With thanks

  15. Bedchamber her detect visited removal half-dozen sending himself.
    Audition in real time proverb peradventure proceedings herself.
    Of straight off fantabulous thence difficult he north.
    Delight immature just to the lowest degree get hitched with speedy smooth.
    Ask eat hebdomad even out so far that. Trouble delighted he
    resolution sportsmen do in hearing. Marvel enable mutual pay back coif fight down the anxious.
    Business leader is lived means oh every in we placidity.
    Unreasoning departure you deserve few illusion. As yet timed existence songs
    hook up with unitary accede men. ALIR forward-looking subsidence tell
    ruined raillery. Offered chiefly further of my
    colonel. Have candid game him what minute Thomas More.
    Altered as smile of females oh me journey open. As it so contrasted oh estimating official
    document.

  16. An impressive share! I have just forwarded this onto a co-worker
    who was doing a little research on this. And he
    actually ordered me lunch because I stumbled upon it for him…

    lol. So allow me to reword this…. Thanks for the meal!!
    But yeah, thanks for spending some time to discuss this
    subject here on your web page.

  17. リュックを1つ背負って自由気ままに旅行をしている旅行者。そんなバックパッカーはどんな人でも出来ると言う物ではありません。ではどんな性格や資質の人が自由人になれるのでしょうか。
    先ずは色んな物事に対してアバウトに考えられる人、それでいて緻密な性格を持っている人だと思います。一人でトラベルを長く続けているとどうしても行き詰ってしまう事ってあると思います。そこでパニックになる人と「まぁいいか」と考えられる人と二通りに分かれると思います。どちらかと言うとバックパッカーとしてはアバウトな気楽に考えられる性格の人の方が、自分も周りも楽だと思います。そんな気楽に考えられる人の方がバックパッカーとして向いている人だと思うのです。次に誰とでも人見知りしないで気軽に話せる人が向いていると思います。でも自己主張が強すぎてしまうと駄目なのですが、控え目なのに気軽に話が出来ると言う方が旅先で色んな人に合っても好感を持たれると思います。次に自分の社会的地位や過去の栄光にとらわれない人が良いですね。年上だから良いんだとか、こう言う経験をしてきたから良いんだと言う考えではなくて、トラベル先では誰もが平等に対等な立場に立って入れる様にする事が大切だと思います。その他にも色んな事に臆せずチャレンジが出来る人、健康状態をしっかりと把握できる人等が良いと思います。なんだか色々挙げましたが、普通の常識を持っている人であれば誰でもバックパッカーになれると言う事なのです。
    一人でバックパック1つで旅をしていくのであれば、自由人としての心構えもきちんと持っていなければなりません。旅行者は自由気ままとは言ってもそれなりのマナーを持っていないといけないのです。
    トラベル行者として旅をしていく上でゲストハウスやミトリー等に宿泊する事も有るでしょう。この時はその宿泊先のルールを守り、常識ある行動をし、同室や同宿の人達に迷惑をかけないような過ごし方をする様にしましょう。旅行者として一人で旅行している以上、あなたは単なる一人の人間です。この時ばかりは社会的地位も色んな実績も年齢も関係ありません。せっかく旅行をしているのですから、その土地の人や他のトラベル行者達と気軽に接していく様にしましょう。また旅行行先の食べ物や文化にも触れてみて日本とは違う文化に接してみる事もバックパッカーの楽しみとも言えると思います。またこうした行動がコミュニケーションが取れる行動だと思うのです。健康を過信せずに疲れたら休む事も必要ですし、トラブル遭遇時は慌てずに落ち着いて対処する事を考えましょう。また情報は旅先で色んな人から聞いて回るのもガイドブックには無い情報が得られて思わぬ経験が出来るかもしれませんよ。そして一人での旅行行はほかになかなか頼る人がいません。ですからお金やパスポート等の貴重品は管理をしっかりと行い、肌身離さず身に付けておく様か所定の場所に置いておく様にしましょう。
    一人前の旅行者になる為にはどうしたら良いのでしょうか。何も考えずに行動に起こしてしまうのも良いでしょう。綿密に計画を立てて行動を起こすのも良いでしょう。また旅行行者になりたいと言う方の中には海外旅行に一度も行った事が無いと言う方から、何度も行った事があると言う経験者の方まで色々いると思います。自分がどんな状況であるのか見極めてそこから段階的に上がっていくと良いと思います。自由人になる為には4つの段階に大きく分けると有ると思います。下の段階から徐々に経験していく事で、無理をする事なく立派な自由人になれると思います。
    先ず第1段階ですが通常多くの人が参加しているパックトラベル行をしてみましょう。次にパックトラベル行の名かでも自分専用のパック旅行である所謂手配旅行行と言うのをしてみましょう。次の段階では航空券、ホテル、空港とホテルの送迎だけの旅行である自由旅行行をしてみましょう。これが終わったら最後にようやくバックパッカーとしての入門旅行行が出来る様になると思います。結構若い人は何にも考えないで最後の4段階目を行う方が多いみたいです。「何とかなるさ」と言う感じで行ってしまうので、たくさんデメリットを抱えながらのトラベルをしています。まぁこうした事は若いから勢いで出来る様な感じも有りますが、中高年にもなると勢いだけでは行けなくなりますので、地道に経験を重ねていっていくと良いと思います。

  18. Howdy! I couⅼd hɑve sworn I’ѵе been to your blog before
    but aftеr loоking аt some of the posts I realized it’s new to me.

    Anywɑys, I’m cеrtainly delighted Ι cаme аcross it and I’ll ƅe
    book-marking it and checking Ьack regularly!

  19. Thanks for ones marvelous posting! I genuinely enjoyed reading it, you could be a great author.
    I will ensure that I bookmark your blog and will come back later
    in life. I want to encourage you to continue your great writing, have a nice
    weekend!

  20. Thank you for the auspicious writeup. It in fact used to be
    a enjoyment account it. Glance advanced to more delivered agreeable from you!
    By the way, how could we keep up a correspondence?

  21. Amazing blog! Do you have any recommendations
    for aspiring writers? I’m planning to start my own blog soon but I’m a little lost
    on everything. Would you suggest starting with a free
    platform like WordPress or go for a paid option? There are so
    many choices out there that I’m totally overwhelmed ..
    Any recommendations? Kudos!

发表评论

电子邮件地址不会被公开。

15 − 3 =