这个代码的可复用原则是好还是坏?
回复内容:
靠谱的代码和DRY (图片是GacUI) - vczh的日常 - 知乎专栏 走上歪门邪道了,赶紧回头。这样的代码复杂,难写难读难维护,更不要提复用了。 我觉得问题的关键是, 对于错误处理(error handling),需要详尽到什么地步。
根据我的经验, 并不需要每个调用的函数都检查一遍,尤其是没有对错误处理做优化语法的语言。
所以我觉得只要在你认为很大可能会发生错误或者错误发生了一定要处理的函数里做错误处理即可。
至于复用,Don't repeat yourself是关键,至于有疑惑的话,就反复思考如何抽象代码到适合的程度就可以了。
我认为没有必要牺牲可读性而高度抽象代码共同点来复用。 在需求或者要解决的问题没有真正被考虑或者研究清楚之前,想要让代码变的高度复用,且易读,是比较难的。那么先把大问题分解成N个子问题。然后,针对子问题 做TTD,然后不断优化。
一步到位的代码复用,不太现实。 又有种看C代码的感觉了。。为什么不用高科技的try catch throw而偏要自己写异常处理呢。。。 不提逻辑,单纯看结构,你考虑过并发吗? 不请自来,请参考
http://zh-google-styleguide.readthedocs.io/en/latest/Google 开源项目风格指南
多看牛逼开源项目 题主想做的东西其实就是Promise。成功调用resolve,失败reject,异常的话还支持向外冒泡。外部只需要then,catch链式调用,看起来就很优雅了。 每个类都要这么写?这和代码复用有什么关系?

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

URL panjang, sering berantakan dengan kata kunci dan parameter penjejakan, boleh menghalang pelawat. Skrip pemendekan URL menawarkan penyelesaian, mewujudkan pautan ringkas yang sesuai untuk media sosial dan platform lain. Skrip ini sangat berharga untuk laman web individu a

Berikutan pengambilalihan berprofil tinggi oleh Facebook pada tahun 2012, Instagram mengadopsi dua set API untuk kegunaan pihak ketiga. Ini adalah API Grafik Instagram dan API Paparan Asas Instagram. Sebagai pemaju membina aplikasi yang memerlukan maklumat dari a

Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Ini adalah bahagian kedua dan terakhir siri untuk membina aplikasi React dengan back-end Laravel. Di bahagian pertama siri ini, kami mencipta API RESTful menggunakan Laravel untuk aplikasi penyenaraian produk asas. Dalam tutorial ini, kita akan menjadi dev

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Tinjauan Landskap PHP 2025 menyiasat trend pembangunan PHP semasa. Ia meneroka penggunaan rangka kerja, kaedah penempatan, dan cabaran, yang bertujuan memberi gambaran kepada pemaju dan perniagaan. Tinjauan ini menjangkakan pertumbuhan dalam PHP Versio moden
