[seasar-dotnet:2411] Re: Quill と DBFlute.NET の未来プロジェクトのスレッド

kotani.k [E-MAIL ADDRESS DELETED]
2015年 1月 24日 (土) 11:43:50 JST


小谷です。

utilについて(これまたとりあえず、ですが)コンパイルできるように修正しました。

Srlクラスがなかなかの難物でした。
またフィルター等への要望を挙げさせていただきます。

○フィルターへの追加を希望
 ("."込みで変換)
String. => StringExtension.
boolean. => BooleanExtension.
.length => .length()

C#でJavaのfinalに近いものはreadonlyだと思いますが、
このキーワードは引数やローカル変数に対して使うことができないため、
先頭に「private」などのアクセス修飾子がついてない場合は削除、とできたら
大変ありがたいです。


○Srlクラスについて
言語仕様等の違いにより、以下のように単純な変換が難しい箇所がいくつかありました。

1.C#では静的コンストラクタは一つしかもてないため以下のようにする必要がある
元クラスの各静的コンストラクタは静的メソッド化⇒静的コンストラクタ内で呼び出す
2.C#では繰り返し変数にたいして"="で割り当てを行うことができない
3.引数に対して"="で割り当てを行うことはできる(javaと同じ動作をするかは不明)
4.C#では、あるスコープ内である変数を宣言している場合、同じ変数名をそのスコープの
外で使うことはできない(変数名を別にするか、どちらもスコープで区切るかする必要がある)
⇒doSplitListの変数"element"など
5.C#ではメソッド名と同じ名前の変数名は使えないので別にする必要がある
(関数を変数のように使える都合上そのような仕様になっていると思われます)
⇒removeEmptyLineのsplitListなど

可能であれば元クラスの方で修正していただけると有難いのですが、
(特に2、3のように、繰り返し変数や引数に割り当てを行うのは、
(色々と設計や好みやポリシー上の理由があると思うのですが)言語仕様抜きにしても
個人的には可読性上の疑問を感じます。。。)
難しければ(+そうそう変更が入るクラスでなければ)、partialを作るなどしてこちらで
対応してみようと思います。



2015年1月14日 6:17 kotani.k <keikotani926 @ gmail.com>:

> 小谷です。
>
> ご対応ありがとうございます。
> utilに取りかかります。
>
> 2015年1月12日 23:03 kubo <dbflute @ gmail.com>:
>
> jfluteです
>>
>> チェックシートを貼付けるの忘れてました。
>> 対応終わったと思ったところにはdoneを付けていっています。
>> いくつかは、別の修正をすることでまかなえてるところもあるはず。
>> Loggerの宣言は、これを使うので。
>> System.Reflection.MethodBase.GetCurrentMethod().DeclaringType
>>
>> ○NETの予約語や名前空間の関係上、以下の変換を行いたい
>> ・done System(Javaクラス) ⇒ DBFlute.JavaLike.JavaLikeSystem
>> ・done DBFlute.System(DBFlute下のフォルダ) ⇒ DBFlute.DfSystem
>>   (上記は.NET <http://xn--v9j140g1f5b.NET>
>> の名前空間にSystemというものがあるため、被ると名前が解決できない)
>> ・done lock() ⇒ doLock()
>>   (lockは.NET <http://xn--v9j.NET>では予約語の一つ)
>>
>> ○using句への追加
>> ・done DBFlute.JavaLike.Time
>> ・done DBFlute.JavaLike.Extensions
>>
>> ○フィルターへの追加
>> ・done 既定の名前空間はDBFlute.XXX(Org.はつけない)
>> ・done Org.Slf4j -> slf4net
>> ・done private static readonly Logger -> private static readonly ILogger
>> ・done getLogger -> GetLogger
>> ・done _log.isInfoEnabled() -> _log.IsInfoEnabled
>> ・done _log.isDebugEnabled() -> _log.IsDebugEnabled
>> ・done _log.info -> _log.Info
>> ・done _log.debug -> _log.Debug
>> ・done DBFluteSystem.class -> typeof(DBFluteSystem)
>> ・done XLog.class -> typeof(XLog)
>> ・done QLog.class -> typeof(QLog)
>> ・done System.currentTimeMills -> JavaLikeSystem.currentTimeMills
>> ・done DBFlute.System -> DBFlute.DfSystem
>> ・done TimeZone -> DBFlute.JavaLike.Util.TimeZone
>>
>> ○その他
>> ・done 移行したクラスのusing句にOrg.Slf4jが二行含まれている
>> ・done 移行したクラスのusing句にDBFlute.System.Providerが三行含まれている
>> _______________________________________________
>> seasar-dotnet mailing list
>> seasar-dotnet @ ml.seasar.org
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
>
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-dotnet/attachments/20150124/0906f1c9/attachment.html>


seasar-dotnet メーリングリストの案内