• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    TENCOKACISTROMYProgramovani v C#, F# a dalsich jazycich pro .NET, Mono a ostatni CLI implementace
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    BUTHRAKAUR: jenže ono se nedá říct jednoznacne, ze tento přístup je lepší. já to Vidim i z jinyho pohledu. nutí ME to myslet v atomizovanych casteckach ale já sem pysnej na to ze dokážu nasat celou aplikaci kompletně. už se kolikrát stalo, ze typek co to u nás protlacil, mel sice krasnej kód pokrytej testama AZ na pudu a pak se vyskytovaly podivný chyby a on nemohl přijít proc. protože ztratil přehled. Nevím jestli to popisuju aby bylo jasný jak to myslím. taky na mobilu se mi Pise blbe
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    ANDY_WARHOL: vsak tak to myslim - na prvotnim pochopeni, jak se TDD ma praktikovat, nic slozityho neni. Ale problem ze zacatku (aspon u mne) byl, jak to zacit aktivne pouzivat v praxi a uvedomit si ten prinos/oduvodnit si sam pro sebe tu na prvni hlupej pohled zbytecnou praci navic. To mi chvili trvalo, ale jakmile jsem videl realnej prinos v praxi, tak uz to jelo a vsechny pochyby zmizely v nenavratnu :)
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    BUTHRAKAUR: pochopil sem to celkem rychle ale nevztrebal. už sem dokonce přišel na to proc. ale to je spis psychologie tak to sem asi nebudu tahat.
    BUTHRAKAUR
    BUTHRAKAUR --- ---
    ANDY_WARHOL: to je mozna proto, ze jsi to jeste kompletne nepochopil/nevstrebal - mne to treba trvalo tak 2 roky :) ale ncrunch je super - jen skoda, ze uz je z nej dost drahej komercni tool a mighty moose mi prijde o dost horsi :/
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    ale diky, nekdy o tom pokecame osobne
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    jo, ja tu mam jeste vychytavku ncrunch, ale proste me to sere. nevim co s tim
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: Muj postup je nasledujici:

    1) Vytvorim tridu.
    2) Vytvorim metodu/metody, do nich dam "throw new NotImplementedException();"
    3) Vytvorim testovaci tridu + testovaci metodu/metody a do nich dam "Assert.Inconclusive();"
    4) Do testovacich metod napisu zakladni testy, zakonceni nechavam na "Assert.Inconclusive();".
    5) Pustim nove vytvoreny testy.
    6) Zacnu implementovat metody.
    7) Poustim testy.
    8) Opravuju implementaci/testy (podle toho co je blbe). Tohle opakuju dokud nejsem spokojenej.
    9) Jestlize jsem spokojenej i s testama, odstranim z konce testovacich metod i "Assert.Inconclusive();"
    10) Pustim vsechny testy.


    Takhle s tim jsem uplne spokojenej, setri mi to cas, muzu pohodlne debugovat casti systemu, ktery jsou hluboko ve strevech, aniz bych se musel X minut snazit dostat program do cilovyho stavu. Ale HLAVNE to je opakovatelnej test. Takze kdyz pak vymenim nejakou knihovnu za novejsi verzi (nebo prepisu kus kodu, kterej zprostredkovane pouzive kde-co vsechno), tak pustim vsechny testy a mam mnohem vetsi jistotu, ze je vse ok.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    bych koukam potreboval preprogramovat mozek
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    TENCOKACISTROMY: proste mi ten styl prace nejak nevyhovuje. nevim jak to rict, dneska sem si to uvedomil. delam testy az po metode a to je samozrejme opruz, a nejak se nedokazu prinutit to delat opacne jak by to melo byt. proste sem tomu neprisel na chut
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ANDY_WARHOL: Proc ho nesnasis? My ho tedka poctive jedem na jednom projektu a musim rict, ze nam to opravdu ve vysledku setri cas a pripadny refactoring (nebo upgrade knihoven) delame s mnohem mensim strachem.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    dneska sem si uvedomil. ze nesnasim tdd. je tu nekdo stejne postizeny ?
    NECROMAN
    NECROMAN --- ---
    pro experimentatory
    CTP for Visual Studio Update 2 now available - Visual Studio ALM + Team Foundation Server Blog - Site Home - MSDN Blogs
    http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/first-ctp-for-visual-studio-update-2.aspx
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    MICA: Muzes misto WebBrowser pouzit Awesomium. To funguje vyrazne lip. Neni to postaveny kolem molochu IE->ActiveX->.NET wrapper, ale je te C->.NET core na bazi WebKitu.
    MICA
    MICA --- ---
    TENCOKACISTROMY: No ještě to vyzkouším Případně zkusím pogooglovat jak ten moloch přinutit aby nestahoval obrázky (což způsobuje největší zpomalení)
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    MICA: Obavam se, ze ta komponenta WebBrowser neni delana na to, aby bezela v jinym nez v UI threadu. Muzes ji mit samozrejme Visible=false. Ale to tak vsechno co s tim muzes delat.
    MICA
    MICA --- ---
    Potřeboval bych naprogramovat v C# bota, který bude něco provádět na webových stránkách na kterých je hojně používán JavaScript (Takže WebClient není moc vhodný).
    Mám to již odladěné přes komponentu WebBrowser, jen mám problém s tím, že když se stránka načítá, tak se "kouše" celý Form ve kterém ten WebBrowser jede.
    Jak je to možné řešit? Je jediná možnost se rozloučit s možností "koukat na to co bot dělá" a vytvořit a používat WebBrowser v jiném threadu? Nebo to vyřešit samostatným Formem?
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    FREELA: Designove neni dobry mit na vstupu List<T>. Je nejakej duvod, proc nepouzit IEnumerable<T> nebo ICollection<T>?

    Kdyz pouzijes interface, muzes vyuzit schopnosti covarince a contravariance - viz clanek: http://msdn.microsoft.com/en-us/library/dd799517.aspx
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    proste vytvorit interface treba klidne i bez vlastnosti a metod, a pak v ty funcki nemit list object jako typ ale list ten interface, no a kazdemu z tech objektu, zde tedy konkretne product, bych dal ten interface.
    ANDY_WARHOL
    ANDY_WARHOL --- ---
    FREELA: osobne bych misto list object pouzil nejaky obecny interface, ktery bych pak daval na vsechny objekty, ktery tam budes posilat, pak nemusis nic typovat, muzes to tam poslat rovnou.
    FREELA
    FREELA --- ---
    mam query, tery vraci List<Product>

    var products = (from p in db.Products
    where (p.ProductType ==x)
    select p).ToList();

    a mam obecnou funkci ProcessObjects(List<object> objectList)
    vyzadujici List<object>

    Muzu nejak pretypovat List<Product> na List<object>?
    Kliknutím sem můžete změnit nastavení reklam