Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
|
Мои предложения по улучшению 24.09.03 16:51 Число просмотров: 1094
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
Мне очень понравилась идея, но реализация местами подкачала. Мысли по поводу приведены дальше :)
> > import org.religion.*;
>
> public class LordsPrayer
> {
> public void pray()
> {
> // Our Father, who art in heaven,
> //
> God ourFather = Heaven.getGodInstance();
>
> // Hallowed be thy Name.
> //
> ourFather.getName().setHallowed( true );
>
> // Thy kingdom come.
> //
> ourFather.getKingdom().setWelcome( true ); ---
Здесь не слишком удачно, но не придумаю, что лучше. По крайней мере
setWelcome здесь не смотрится. Хотя...
>
> // Thy will be done in earth
> // As it is in heaven.
> //
> boolean isWillDone = Heaven.isWillDone( ourFather );
> Earth.setWillDone( ourFather, isWillDone ); ---
Для приличия нужно поставить assertion на то, что isWillDone == true.
> // Give us this day our daily bread.
[skipped]
> // And lead us not into temptation;
> // But deliver us from evil:
> //
> ourFather.removeTemptationListener( this );
> ourFather.deliverFrom( Evil, this );
>
> // For thine is the kingdom, and the power,
> // and the glory, for ever.
> //
> for (;;)
> {
> Kingdom.setOwner( ourFather );
> Power.setOwner( ourFather );
> Glory.setOwner( ourFather );
> } ---
Неправильно. Смысл этих слов в молитве не в том, чтобы постоянно делать
setOwner - это непроизводительно, ненужно и не соответствует реальной
семантике - а в том, чтобы установить и заморозить ссылку на владельца
этих объектов. Хотя с точки зрения "буквы" бесконечный цикл здесь вроде
выглядит нормально, но допущена грубая ошибка: молитва не длится вечно,
вечным является Его царство!
Также не совсем понятно происхождение объектов Kingdom, Power, Glory: из
пакета org.religion? Ну первые два ладно, а последний - странно...
> // Amen.
> //
> finalize(); ---
Опять неправильно. "Аминь" соответствует коммиту транзакции, а не
файналайзу молитвы :) Это становится очевидно, если вспомнить, что
нередко внутри молитвы встречается несколько "Аминь" (например когда она
произносится священником в храме).
> }
> } ---
|
<humor>
|
"Отче наш" на Java 24.09.03 16:46
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
Вот оригинальный вариант, который мне был заслан одним из друзей, само собой программистом на Java :)
import org.religion.*;
public class LordsPrayer
{
public void pray()
{
// Our Father, who art in heaven,
//
God ourFather = Heaven.getGodInstance();
// Hallowed be thy Name.
//
ourFather.getName().setHallowed( true );
// Thy kingdom come.
//
ourFather.getKingdom().setWelcome( true );
// Thy will be done in earth
// As it is in heaven.
//
boolean isWillDone = Heaven.isWillDone( ourFather );
Earth.setWillDone( ourFather, isWillDone );
// Give us this day our daily bread.
//
Bread dailyBread = ourFather.getBread( new Date() );
// And forgive us our trespassess,
// As we forgive those who trespass against us.
//
synchronized
{
ourFather.forgive( this.getTrespasses() );
this.forgive( this.getTrespassers() );
}
// And lead us not into temptation;
// But deliver us from evil:
//
ourFather.removeTemptationListener( this );
ourFather.deliverFrom( Evil, this );
// For thine is the kingdom, and the power,
// and the glory, for ever.
//
for (;;)
{
Kingdom.setOwner( ourFather );
Power.setOwner( ourFather );
Glory.setOwner( ourFather );
}
// Amen.
//
finalize();
}
}
/**
@author Ganesh Prasad
*/
---
|
|
Мои предложения по улучшению 24.09.03 16:51
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
Мне очень понравилась идея, но реализация местами подкачала. Мысли по поводу приведены дальше :)
> > import org.religion.*;
>
> public class LordsPrayer
> {
> public void pray()
> {
> // Our Father, who art in heaven,
> //
> God ourFather = Heaven.getGodInstance();
>
> // Hallowed be thy Name.
> //
> ourFather.getName().setHallowed( true );
>
> // Thy kingdom come.
> //
> ourFather.getKingdom().setWelcome( true ); ---
Здесь не слишком удачно, но не придумаю, что лучше. По крайней мере
setWelcome здесь не смотрится. Хотя...
>
> // Thy will be done in earth
> // As it is in heaven.
> //
> boolean isWillDone = Heaven.isWillDone( ourFather );
> Earth.setWillDone( ourFather, isWillDone ); ---
Для приличия нужно поставить assertion на то, что isWillDone == true.
> // Give us this day our daily bread.
[skipped]
> // And lead us not into temptation;
> // But deliver us from evil:
> //
> ourFather.removeTemptationListener( this );
> ourFather.deliverFrom( Evil, this );
>
> // For thine is the kingdom, and the power,
> // and the glory, for ever.
> //
> for (;;)
> {
> Kingdom.setOwner( ourFather );
> Power.setOwner( ourFather );
> Glory.setOwner( ourFather );
> } ---
Неправильно. Смысл этих слов в молитве не в том, чтобы постоянно делать
setOwner - это непроизводительно, ненужно и не соответствует реальной
семантике - а в том, чтобы установить и заморозить ссылку на владельца
этих объектов. Хотя с точки зрения "буквы" бесконечный цикл здесь вроде
выглядит нормально, но допущена грубая ошибка: молитва не длится вечно,
вечным является Его царство!
Также не совсем понятно происхождение объектов Kingdom, Power, Glory: из
пакета org.religion? Ну первые два ладно, а последний - странно...
> // Amen.
> //
> finalize(); ---
Опять неправильно. "Аминь" соответствует коммиту транзакции, а не
файналайзу молитвы :) Это становится очевидно, если вспомнить, что
нередко внутри молитвы встречается несколько "Аминь" (например когда она
произносится священником в храме).
> }
> } ---
|
|
|