JBoss Seam, Stripes and Hibernate: An Irreverent Look at Java Software Frameworks & RoR JBoss的煤層,條紋和Hibernate :一irreverent看看Java軟件框架&回彈
What is it with all these frameworks?它是什麼,與所有這些框架呢? Why can’t JBoss Seam or even good ‘ol Hibernate give me a simple HelloWorld example anymore?為什麼不能JBoss的煤層,甚至良好』醇休眠給我一個簡單的HelloWorld的例子了嗎?
Also have you noticed how complex it is to setup the whole JBoss Seam in the first place?也有你注意到多麼複雜,它是整個安裝JBoss的煤層擺在首位?
I am a simple person and Stripes looks much simpler.我是一個簡單的人星條旗看起來簡單得多。 They also have a HelloWorld or Calculator, an absolutely simple example which you can build upon and play with.他們也有的HelloWorld或計算器,絕對是個簡單的例子,您可以建立和玩耍。 Also note how the examples are built without database requirement to setup.還注意到,如何例子是建立在沒有數據庫的要求設置。 It took me about 5 minutes to setup and run the first example.我花了約5分鐘,以安裝和運行的第一個例子。 If I were to judge a software solely by its documentation, JBoss Seam fails.如果我要判斷一個軟件完全由它的文件, JBoss的煤層失敗。
I dabbled with Hibernate before. i涉足與Hibernate之前。 Now I need to wet my feet again and I remembered an old question.現在我需要濕我的腳再次和我記得一個老問題。 Why in the world did they have to develop a query language like SQL?為什麼在世界上沒有他們要建立一個查詢語言一樣的SQL呢? Why not SQL?為什麼不的SQL呢?
The problem with Seam or Hibernate type documentation is that they are not organized with readers in mind, they don’t take the readers step by step into the labyrinth of the mess they have created wonderful software they have created.問題與煤層或Hibernate類型的文件是,他們沒有組織與讀者的心目中,他們不採取讀者一步一步進入迷宮的這個爛攤子,他們創造了精彩的軟件,他們創造了。
Reading each paragraph convinces you that the author was in real hurry , like in the last throes of death, while he was writing these chapters.讀每一段說服你,作者是在真正的匆忙,想在最後的陣痛死亡,而他正在撰寫這些章節。 It makes such chapters almost humanly impossible to understand without feeling absolute disgust and revulsion about software development in general.它使這樣的章節幾乎是人力無法理解而不感到絕對的厭惡和反感和憎惡關於軟件開發的一般問題。 They make development a chore, a never-ending horror story.他們把發展一苦差事,永無休止的恐怖故事。 Everything and their great-anchestors are crammed into these chapters.一切都和他們的偉大- anchestors是塞進這些章節。
The only purpose they serve is to convince the readers to cough up and buy their books.唯一目的,他們所服務的是說服讀者咳嗽和購買他們的書籍。
Do you know why RoR flourish?你知不知道為什麼回彈蓬勃發展呢? Not because they have something great or convoluted.而不是因為他們有一些偉大的或錯綜複雜。 It is because one fine guy has taken the time to create a framework which makes it simpler to develop applications and not make it even more complex than the problem it solves.這是因為一罰款傢伙已採取的時間建立一個框架,使簡單的開發應用,而不是使它更複雜得多的問題,它解決。
Hibernate and Seams team should read RoR and Stripes documentation before they embark on a massive rewrite of their tomes. Hibernate和煤層隊應改為回彈和條紋的文件之前,他們走上了大規模重寫他們的tomes 。
Even PHP Manual is a tome but a very readable tome.甚至PHP手冊是一個聖多美和普林西比而是一個非常可讀的聖多美和普林西比。 Tomes don’t have to be PITA. tomes不一定要皮塔。
One drawback with Stripes documentation is that it is still minimal.有一個缺點,與條紋的文件是,它仍然是微乎其微。 Tag library javadoc doesn’t substitute for documentation.標籤庫javadoc並不代替文件。
All in all I highly recommend Stripes framework.所有在我強烈推薦的條紋框架。 It solves only half of the puzzle which RoR solves fully.它解決了只有一半的拼圖,其中解決了充分的回報率。 However it does it very well, even better than RoR.但它的確能做到非常好,甚至優於回彈。
With the other half completed, RoR will finally stop roaring so much與另一半完成,回報率將最終停止咆哮了這麼多 ![]()
To All Framework Authors: Please for the love of whoever you love take the effort to make something simple and elegant.所有的框架作者:請為愛你愛誰採取的努力,使一些簡單而優雅。 And please spend twice as much time writing documentation which are for human consumption.並請花兩倍多的時間以書面文件是供人食用。 Please read K&R, PHP Manual etc. to get a hang on writing easy to understand and interesting documents.請閱讀k與R , PHP手冊等,以獲得坑的寫作易於理解和有趣的文件。
BTW: Hibernate with Annotation has a nice thing going, if only they knew how to document clearly.的BTW :休眠與詮釋有一個很好的事情去,如果只有他們知道如何文件清楚。
If there is one thing I really hate about today’s java software frameworks, it is their documentation.如果有一件事我真的很恨對今天的Java軟件的框架,這是他們的文件。 The bottomline is framework must make our life simpler.底線是必須的框架,使我們的生活更簡單。
To summarize the points that can be addressed while documenting frameworks are.總結點可以解決的同時,記錄框架。
- Start with a simple example; very simple one開始與一個簡單的例子;很簡單,一
- Say a simple story and carry it through the spectrum of broad capabilities說一個簡單的故事,並進行透過譜廣泛的能力
- Now delve in the complex details and exceptions and overrides.現在探究在複雜的細節和例外和壓倒。
- Stop flaunting your expertise.停止炫耀您的專業知識。
In times such as this I head over to bile blog.在這樣的時代,作為這方面,我頭給膽汁的博客。 He knows the pain which most framework developers (with the exception of Stripes and RoR) don’t.他知道疼痛,其中大部分的框架內發展商(除條紋和回報率)不。
Update: An article without an example is bland.更新:一篇文章,沒有一個例子是平淡。 So let me illustrate with a simple example from Seam.因此,讓我舉出一個簡單的例子,從煤層。
The heading of the chapter is: Chapter 2.標題一章是: 第2章。 Seam concepts 煤層的概念
The two core concepts in Seam are the notion of a context and the notion of a component.這兩個核心概念,在煤層是概念的背景和概念的一個組成部分。 Components are stateful objects, usually EJBs, and an instance of a component is associated with a context, and given a name in that context.組件狀態的物體,通常ejbs ,和一個實例的一個組成部分,是與相關的背景下,並賦予一個名稱,在此背景。 Bijection provides a mechanism for aliasing internal component names (instance variables) to contextual names, allowing component trees to be dynamically assembled, and reassembled by Seam. bijection提供了一種機制,別名內部組件的名稱(例如變量)內容的名稱,允許組成的樹木被動態組裝,並重新由煤層。
Read it once, twice and then tell me if you understand what they are talking about.讀一次,兩次,然後告訴我,如果你明白他們所談論的。 To me it reads like incoherent rambling of technical jargon, not a documentation.對我來說,它讀起來就像相干漫談的技術術語,不是一個文件。
First “context” in this context is not defined despite being mentioned.首屆“背景”在這方面是沒有界定,儘管被提及。 Then they simply include it in a sentence.然後他們只是將它包含在一個句子。
“Components are stateful objects, usually EJBs, and an instance of a component is associated with a context, and given a name in that context.” “組件狀態的物體,通常ejbs ,和一個實例的一個組成部分,是與相關的背景下,並賦予一個名稱,在此背景” 。
I don’t know where to begin.我不知道從何處開始。 Is it too much to expect a proper and meaningful yet simple sentence?是它太多的期望一個適當的和有意義的,但簡單的一句呢?
“Bijection provides a mechanism for aliasing internal component names (instance variables) to contextual names, allowing component trees to be dynamically assembled, and reassembled by Seam.” “ bijection提供了一種機制,別名內部組件的名稱(例如變量)內容的名稱,允許組成的樹木被動態組裝,並重新由煤層” 。
Why wasn’t “bijection” introduced earlier?為什麼不是“ bijection ”年初推出的? What is the context?是什麼背景?
This strange sentence probably makes sense only to a Seams developer.這個奇怪的一句話,大概是有道理的,只有一個煤層開發。
Are they being penalized to write simple meaningful sentences?他們受到懲罰,以書寫簡單的有意義的句子呢? Have they read their own documentation ever?他們閱讀自己的文件呢? Or have their brain become soft working on frameworks so as not to be able to comprehend the problem?或有他們的大腦成為軟性的工作框架,以便不能夠理解這個問題呢?
This is merely the tip of iceberg.這只不過是尖端的冰山一角。 Such haphazard, poor quality documentation is all throughout.這種雜亂無章,質量低劣的文件是在整個。
Filed under提起下 Headline News頭條新聞 , , Java Software Java軟件 , , PHP PHP的 , , Web網頁 | |
| |
RSS 2.0 2.0 | |
Trackback Trackback跟踪 this Article |此文章|
Email this Article電子郵件此文章
You may also like to read您也可以想讀 |




October 25th, 2005 at 10:47 am 2005年10月25日在上午10時47分
Interesting, that’s the first time so far I read a global negative feedback on Hibernate Annotations documentation.有趣的,這就是第一時間,到目前為止,我看過一個全球性負反饋對Hibernate的說明文件。 This is usually the opposite, and the opposite on the Hibernate doc as a whole.這通常是相反的,相反的對Hibernate的文檔作為一個整體。 So maybe that’s just you esp since you had to use more than 500 words to express this idea也許這只是你電除塵器以來,你不得不使用500多語言來表達這種想法
BTW, you should now that writing a book is a real PITA and don’t really feed you.的BTW ,你現在應該說,寫一本書是一個真正的皮塔和真的不飼料你。 So such evil plan just does not make sense.因此,這種邪惡的計劃,只是沒有道理的。
October 25th, 2005 at 11:58 am 2005年10月25日在上午11時58分
@Emmanuel @靈光
It would be great if it is only me, but I seriously doubt it.這將是偉大的如果只是我,但我嚴重懷疑。 The documentation may look great to you as you are possibly immersed in hibernate.該文件可以看看偉大的你,你可能是沉浸在休眠。 But look at it, or ask someone to, from the perspective of an outsider wishing to learn this framework (possibly on a deadline).但看看它,或要求別人,從的角度來看,局外人,希望了解在此框架內(可能是一個最後期限) 。
> So maybe that’s just you esp since you had to use more than 500 words to express this idea >也許這只是你電除塵器以來,你不得不使用500多語言來表達這種想法
I used 500 words that to cover Hibernate (with/without) annotations, Stripes and Seams我用500的話,以支付休眠(與/無)說明,條紋和煤層
I do know Hibernate.我所知道的休眠。 It is Hibernate with Annotations which is new to me.這是休眠與說明,這是一個新我。
> you should now that writing a book is a real PITA and don’t really feed you. >現在,您應該寫一本書,是一個真正的皮塔和真的不飼料你。 So such evil plan just does not make sense.因此,這種邪惡的計劃,只是沒有道理的。
I am running out of ideas to explain such painfully hard-to-read docs.我失控的想法來解釋這種痛苦的努力,到閱讀文件。 You can possibly help me to understand why it is so.您可以在有可能幫助我理解為什麼是這樣。
The problem is not that they do not contain information.問題不在於他們不包含的信息。 They do.他們這樣做。 However it is not clearly presented in a phased manner.不過,這是沒有明確提出了在以分階段的方式。 They are just crammed haphazardly.他們只是胡亂塞進。 Please consider revising the docs with some professional technical writers.請考慮修改文件與一些專業技術專業作家。
I tried to summarize at the end how I think the docs can be improved.我試圖總結在年底如何,我認為文件可以得到改善。 You can probably take a leaf out of Picocontainer’s idea of 1-minute introduction, 2-minute introduction and 5-minute tutorial etc.你或許可以採取葉片出picocontainer的想法, 1分鐘介紹, 2分鐘的介紹和5分鐘的補習等。
Look at it this way.這樣看。 You guys have spent lots of time in creating a good framework which have own critical acclaim.你們已經用了大量的時間,創造了一個良好的框架,其中有自己的關鍵好評。 Would’t you like to make it easier for people to understand? would't你想使人們可以更加輕鬆地明白嗎?
October 26th, 2005 at 1:03 pm 2005年10月26日在下午1時03分
Quality of documentation is something I’ve spend quite a bit of time thinking about over the years, and I think it boils down to something very simple.文件的質量是我已經花費相當多的時間思考多年來,而且我覺得它歸結為一些非常簡單。 You have to write documentation that is structured in the manner your reader needs it.你有文件的撰寫是在結構上的方式,您的讀者的需要。 The easiest way to write documentation is to write it in a structure parallel to your software.最簡單的方式,文件的撰寫是將它寫在一個結構並行到您的軟件。 That leads to more of a reference, which is only useful once you already know your way around.導致更多的參考,這是唯一有用的,一旦您已經知道您的方式。 And you still have to piece lots of things together when you want to get something done.你還有以一塊很多事情一起時,如果您想要得到做點事。
My approach these days is to think through the question “what are my users going to be trying to do” and then write documents about that.我的做法,這些天來,是想通過這個問題“什麼是我的用戶將會嘗試做” ,然後寫文件。 I’m glad you like the results我很高興你一樣的結果
-Tim Fennell添fennell
stripes:條紋: http://stripes.mc4j.org
October 26th, 2005 at 11:37 pm 2005年10月26日在下午11時37分
@Tim @添
> You have to write documentation that is structured in the manner your reader needs it. >你有文件的撰寫是在結構上的方式,您的讀者的需要。
I fully agree with you.我完全同意你的。 This is also the reason why documentation shouldn’t be created by developers in the first place.這亦是原因文件不應該由開發商創造擺在首位。
Writing good documentation is art.良好的書面文件,是藝術。 Who are my readers?誰是我的讀者? What are their use cases?他們有什麼用例? How easy can I make it for them.多麼容易,我可以為他們。 As we write use cases for development, I think we should write use cases for documentation too.正如我們寫用例的發展,我認為我們應該寫用例為文件太大。
@Emmanuel @靈光
> BTW, you should now that writing a book is a real PITA and don’t really feed you. >的BTW ,你現在應該說,寫一本書是一個真正的皮塔和真的不飼料你。
Unless you are Mrs. Rowling or Vikram Seth除非你是夫人羅琳或維克拉姆•塞思
February 19th, 2006 at 8:06 pm 2006年2月19日在下午8時06分
Testimonials 推薦
Introduction Since Stripes was released in September 2005 people have been saying a lot of nice things about it.引進以來,條紋,是2005年9月發表的人已經說了很多好話,動聽的事情。 This page pulls together some quotes from people who have found Stripes one way or another and, unsolicited,…此頁拉在一起的一些人的報價從誰發現的條紋,一種或另一種方式,不請自來的, … …
June 29th, 2006 at 3:47 am 2006年6月29日在上午03時47分
There are some bugs in the Stripes Framework.也有一些缺陷,在星條旗框架。
(i) I have given (一)我已
@Id SetId(){} and getId(){} methods in Entity Class and extended the in my POJO. @編號setid ( ) ( )和getid ( ) ( )方法在實體類,並延長在我的波霍。 Stripes is not accessing the methods of its superclass of POJO.條紋,是不是訪問的方法,其超的波霍。
(ii) I am putting a object in memory using wizard forms. (二)我把對象在記憶體,使用嚮導形式。 But it is retaining the values across the pages.但它保留價值的整個頁面。
Hope someone give some solution to these problems.希望有人提供一些解決這些問題。
thank,謝謝,
prasd
September 13th, 2006 at 7:02 am 2006年9月13日在上午07時02分
Stripes Around The Web 條紋周圍的Web
Libraries Built With Stripes Reflection Facets圖書館建成與條紋的思考層面
November 2nd, 2006 at 6:04 am 2006年11月2日在上午06時04分
Nice article.好文章。 the only thing that i can do is just agree with you.只有一件事,我能做的只是同意你的。 Just read the seam documentation for setting up a simple project.剛才所宣讀的煤層文件設立一個簡單的項目。 Or just test their examples and try to debug them if something goes wrong.或只是測試他們的榜樣和嘗試調試他們如果有錯在哪裡。 Bad documentation is not better than no documentation.壞的文件是不是總比沒有文件。 I believe the best way to document a framework is to provide really stupid samples and example projects.我相信,最好的方法,以文件的一個框架,是為了提供真正愚蠢的樣品和項目的例子。
December 4th, 2006 at 9:59 am 2006年12月4日在上午09時59分
I agree with you on “The problem with Seam or Hibernate type documentation is that they are not organized with readers in mind, they don’t take the readers step by step into the labyrinth of the mess they have created wonderful software they have created.”我同意你關於“問題與煤層或Hibernate類型的文件是,他們沒有組織與讀者的心目中,他們不採取讀者一步一步進入迷宮的這個爛攤子,他們創造了精彩的軟件,他們創造了。 “