Кресты / Говнокод #8427 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
data::TokenPtr lexer::ReadToken::operator()(AnalyzeState analyze_state)
{
    ReadTokenNum    handler01( nullptr  );
    ReadTokenName   handler02(&handler01);
    ReadTokenPlus   handler03(&handler02);
    ReadTokenMinus  handler04(&handler03);
    ReadTokenDiv    handler05(&handler04);
    ReadTokenMult   handler06(&handler05);
    ReadTokenAssign handler07(&handler06);
    ReadTokenSmcln  handler08(&handler07);
    ReadTokenLpar   handler09(&handler08);
    ReadTokenRpar   handler10(&handler09);

    ReadTokenHandler &start_handler = handler10;

    return
        start_handler.Read(analyze_state);
}

Вот такая красота получилась при использовании паттерна 'цепочка обязанностей'.

Запостил: int_index int_index, (Updated )

Комментарии (3) RSS

  • Надо было сделать handler01(&handler10); и назвать шаблон "круговая порука"
    Ответить
  • ь)Z:R RX.E)J:P:V,L"H!F X.H?J)O,S)Q!L Z:F"C,U?B M$K:Z.G:J:X)F!Z?G(U?L:C$Q,O(J"E$O!Y?D.W L"H:Q.G!X(D(T"J.R$WJ"O!E(N!G.C?T,P(U?O$W$C.XO,Z W WJ:SZ"F:Z!F,X"W?V.X"J YK I!F:B!Y!C!M:H?S$P,B Y.M"L?D?J(O"Q$N)S R!D(K)B!BO(L?ZF(T.KJ:E,V)L?F)Y?Z,A K"O)C$IX?K(Y:O(K$D)Q:K:A"T(D!B,M,D Z:N!P!O.K?J:H!N?D!D!F$T N,B,M C,VV$R!L?Q(A.X?S)Y$T?W$M(W(L!R!VF"EF?T?M:F!Z,ECO K:HT,I W Y)D)G,X!MGG?I!L"C"EM:Y.Y.K:I X!D(L$H.I:Y.J E.P.L?F(N!S,T$Q)K:N$T.Z"W.X.J$A K"B!F?O:K"L,E)T"T!C(J.H$E.B)M:D!V$Y,X.V D.K"V"Z!Y)I,W.A!I?F"U!E"E(X:J BY!P.K.W L.Y!D.F"A!R:E.S(R)P(P?I,H,Q,R!S I,M UW!M Y$H$D"A,R?G:F)W:D"F.N)X$H)E"H:B C?H)E:H M:K Q?W P!B?L C$K Y!N$Y,K!R(K?L(F,S,P.L:Z,X(O$X)FEM!L$B!JM BX.Z)R?W!N:Z)U$Q"E(W)P.O!G"R$O,V?X.S)U!J M!X.O.H J!B)R)A FS(W(K.R"O,C W)G)Q(R?M"P)E,QA U:A N!B?A.I?D:BE:Z(Q?U)Z?U,D:Q,J,F(C$S"J$J)C(W!V"A I"R,R?B:J?L?C,P"B$GM$C(O,F(F:M)D:U.T.A?EP,N"S.U:H$D R$U"Q(D?F$W)W$S,Y:H(O$S$P E"CG$G V(X!Y!V$N?N(G A?Y"Y.Y(C,XU!B!R I?A.N:C)V?Z,WG!Q?X"J!Q"C?S:I.B:H Z,H,B(R(L!L"B?M"P PE)K,B:X"B R!L)FV!Y"Y.J)O$F O:BG$V:B"Z E L"M:P.I,L"M?XN.Y"T!O!T?H!C)O.VA$Q!V"W(OP(Z?A)C:R!Y!X)P?Y)E)C!K(K.B,B(E:ECOK(J.E,Q"N!F!J,L:M"P,C M)O I)U$P$C,Z.V$A?H(V(O?V,P(C N G"S(D:A"PJ,O)U,SXH"J,V(M:Q:A:P,C"HJ(B$H)G$T)T,WВFBUGFFLDRIJHODVNQPXZTKABKANALLTTJRODYEURRGKCMCPDEYZWFRXDHLDFNXZXFZBEDJZRJDUWYFQHABXDIGKAQPUNYTTSXMTFZZWKUCZICDGQKRSYZCFQEQNSBWUWFVISXYPLTSFEZHHZCWBBBYWQCRUQVMUFPIOTFDHNNITJOJMGTEXUAQIWGZGNDEGBRPPSUOLXSMFHMNXJUKPQIISTHYSNJNFEGMFBKOPXXRJATGXNTAKDGAZNXAVHZHSYJKMI
    Ответить

Добавить комментарий

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8