Author Topic: OOP  (Read 114498 times)

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: OOP
« Reply #275 on: 21.11.2011, 14:18:59 »
Nevie mi niekto poradit ? Mam vsetko co mame mat doteraz hotove, akurat sa trapim s tou PMD kontrolou ktora mi stale robi bordel. Mam Parser a v nom analyzujem zadany prikaz. Na zaklade toho tam mam tusim 2 podmienky a tie returnuju ten dany prikaz ktory naslo. Ak nic nenajde tak za cyklom ktory prechadza prikazy mam return null. Problem je ze PMD vypisuje, ze return by mal byt iba jeden, a ja mam 3. Ako by sa to dalo upravit ? Mam to vobec riesit alebo to mam ignorovat ? Vdaka.

pouzi nejaku premennu:
Code: [Select]
string premenna = "defaultna hodnota";
if (test1) premenna = "hodnota 1";
if (test2) premenna = "hodnota 2";

return premenna;

edit:
este ku tomu jednemu returnu:
je to popularny mytus, ze jeden vystupny bod (return) pre metodu sprehladnuje kod a nvm co este... ale to je zvycajne nezmysel ;) a navyse by som povedal, ze je to individualna vec - niekomu sa zda prehladnejsie jedna vec a druhemu ina vec...
avsak, kedze mate take pravidla ako mate, tak to asi budes musiet fixnut :)
« Last Edit: 21.11.2011, 14:22:20 by Agamemnon »
All code is crap.

42

AnvilOfFury

  • Full Member
  • ***
  • Posts: 220
    • View Profile
Re: OOP
« Reply #276 on: 21.11.2011, 15:17:33 »
Nevie mi niekto poradit ? Mam vsetko co mame mat doteraz hotove, akurat sa trapim s tou PMD kontrolou ktora mi stale robi bordel. Mam Parser a v nom analyzujem zadany prikaz. Na zaklade toho tam mam tusim 2 podmienky a tie returnuju ten dany prikaz ktory naslo. Ak nic nenajde tak za cyklom ktory prechadza prikazy mam return null. Problem je ze PMD vypisuje, ze return by mal byt iba jeden, a ja mam 3. Ako by sa to dalo upravit ? Mam to vobec riesit alebo to mam ignorovat ? Vdaka.
Code: [Select]
public Command getCommand(string podmienka){
  Command value = null;
  for(Command c : list){
    if(c == podmienka){
      value = c;
      break;
    }
  }
  return value;
}
Keep information to yourself - Knowledge is power. Think job security. Never provide documentation.
Use Real Tools - No "fancy-pancy" IDEs. Real developers only use vi.
Compiled = Ship It - User acceptance testing is an absolute waste of time.

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #277 on: 21.11.2011, 15:26:13 »
Nevie mi niekto...

pouzi nejaku premennu:
Code: [Select]
string premenna = "defaultna hodnota";
if (test1) premenna = "hodnota 1";
if (test2) premenna = "hodnota 2";

return premenna;

edit:
este ku tomu jednemu returnu:
je to popularny mytus, ze jeden vystupny bod (return) pre metodu sprehladnuje kod a nvm co este... ale to je zvycajne nezmysel ;) a navyse by som povedal, ze je to individualna vec - niekomu sa zda prehladnejsie jedna vec a druhemu ina vec...
avsak, kedze mate take pravidla ako mate, tak to asi budes musiet fixnut :)
Nejako tak som nad tym rozmyslal tiez, ale nenapadlo ma nastavit premennu na typ hodnoty roomu alebo itemu a na zaciatku ju inicializovat na null... Ake lahke to bolo :D... aj tak je to taky proces dookola blizsie a este to treba po priradeni aj breakovat nech to nehadze na dalsiu podmienku... Ale nastastie mi to uz ide. Vdaka za navrh :)

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #278 on: 21.11.2011, 15:27:14 »
AnvilOfFury: Vdaka, jojo akurat som to pred chvilou takto napisal tiez a uz mi to ide :-)

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #279 on: 21.11.2011, 16:38:46 »
Nevie mi niekto poradit ? Mam vsetko co mame mat doteraz hotove, akurat sa trapim s tou PMD kontrolou ktora mi stale robi bordel. Mam Parser a v nom analyzujem zadany prikaz. Na zaklade toho tam mam tusim 2 podmienky a tie returnuju ten dany prikaz ktory naslo. Ak nic nenajde tak za cyklom ktory prechadza prikazy mam return null. Problem je ze PMD vypisuje, ze return by mal byt iba jeden, a ja mam 3. Ako by sa to dalo upravit ? Mam to vobec riesit alebo to mam ignorovat ? Vdaka.

hmm... som si to teraz vyskusal a mne to nerobi. nespustas to pmd zle? alebo nepouzivas iny (najlepsie) ziadny ruleset ako ten, co sme dostali?
So say we all!

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #280 on: 21.11.2011, 17:17:03 »
Nevie mi niekto poradit ? Mam vsetko co mame mat doteraz hotove, akurat sa trapim s tou PMD kontrolou ktora mi stale robi bordel. Mam Parser a v nom analyzujem zadany prikaz. Na zaklade toho tam mam tusim 2 podmienky a tie returnuju ten dany prikaz ktory naslo. Ak nic nenajde tak za cyklom ktory prechadza prikazy mam return null. Problem je ze PMD vypisuje, ze return by mal byt iba jeden, a ja mam 3. Ako by sa to dalo upravit ? Mam to vobec riesit alebo to mam ignorovat ? Vdaka.

hmm... som si to teraz vyskusal a mne to nerobi. nespustas to pmd zle? alebo nepouzivas iny (najlepsie) ziadny ruleset ako ten, co sme dostali?
PMD pouzivam ten zo scourforge myslim, tak ako bolo v navode - stiahnut a nainstalovat do netbeansu. Nevedel som ako pustit vo wine pod netbeansom - ten defaultny z kniznice indiana_jones. Ale tak snad to uz nebude robit problemy. Tie returny som opravil a uz to nevyhadzuje ziadnu chybu.
« Last Edit: 21.11.2011, 17:26:56 by matus217 »

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #281 on: 21.11.2011, 17:50:14 »
Nevie mi niekto poradit ? Mam vsetko co mame mat doteraz hotove, akurat sa trapim s tou PMD kontrolou ktora mi stale robi bordel. Mam Parser a v nom analyzujem zadany prikaz. Na zaklade toho tam mam tusim 2 podmienky a tie returnuju ten dany prikaz ktory naslo. Ak nic nenajde tak za cyklom ktory prechadza prikazy mam return null. Problem je ze PMD vypisuje, ze return by mal byt iba jeden, a ja mam 3. Ako by sa to dalo upravit ? Mam to vobec riesit alebo to mam ignorovat ? Vdaka.

hmm... som si to teraz vyskusal a mne to nerobi. nespustas to pmd zle? alebo nepouzivas iny (najlepsie) ziadny ruleset ako ten, co sme dostali?
PMD pouzivam ten zo scourforge myslim, tak ako bolo v navode - stiahnut a nainstalovat do netbeansu. Nevedel som ako pustit vo wine pod netbeansom - ten defaultny z kniznice indiana_jones. Ale tak snad to uz nebude robit problemy. Tie returny som opravil a uz to nevyhadzuje ziadnu chybu.

ved prave, ze v tom rulesete, co sme dostali, take pravidlo nie je (iba jeden return v celej metode). myslim, ze nepouzivas spravny ruleset.
So say we all!

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #282 on: 21.11.2011, 18:04:06 »
Nevie mi niekto poradit ? Mam vsetko co mame mat doteraz hotove, akurat sa trapim s tou PMD kontrolou ktora mi stale robi bordel. Mam Parser a v nom analyzujem zadany prikaz. Na zaklade toho tam mam tusim 2 podmienky a tie returnuju ten dany prikaz ktory naslo. Ak nic nenajde tak za cyklom ktory prechadza prikazy mam return null. Problem je ze PMD vypisuje, ze return by mal byt iba jeden, a ja mam 3. Ako by sa to dalo upravit ? Mam to vobec riesit alebo to mam ignorovat ? Vdaka.

hmm... som si to teraz vyskusal a mne to nerobi. nespustas to pmd zle? alebo nepouzivas iny (najlepsie) ziadny ruleset ako ten, co sme dostali?
PMD pouzivam ten zo scourforge myslim, tak ako bolo v navode - stiahnut a nainstalovat do netbeansu. Nevedel som ako pustit vo wine pod netbeansom - ten defaultny z kniznice indiana_jones. Ale tak snad to uz nebude robit problemy. Tie returny som opravil a uz to nevyhadzuje ziadnu chybu.

ved prave, ze v tom rulesete, co sme dostali, take pravidlo nie je (iba jeden return v celej metode). myslim, ze nepouzivas spravny ruleset.
A ako sa dostanem k spravnemu rulesetu  ?  :trestac:

esperian

  • Hero Member
  • *****
  • Posts: 873
    • View Profile
Re: OOP
« Reply #283 on: 21.11.2011, 20:04:16 »
aj mna by to zaujimalo :-)
toto som nasiel ale... "preklikam" sa v prikazovom riadku tam kde mam ten subor build.xml .. ale ked tam napisem ten prikaz tak sa nic nestane.. ale ked tam napisem ze build.xml tak mi otvori toto -> vid dole
Balíček taktiež obsahuje aj nástroj PMD spolu so zoznamom pravidiel, podľa ktorých sa bude váš projekt kontrolovať. Pokiaľ teda potrebujete skontrolovať kvalitu svojho výsledného kódu, napíšte do príkazového riadku nasledujúci príkaz (z koreňového priečinku, v ktorom sa váš projekt nachádza (nachádza sa v ňom aj súbor build.xml):
1   $ ant pmd


Code: [Select]
<?xml version="1.0" encoding="UTF-8"?>

<!-- You may freely edit this file. See commented blocks below for -->

<!-- some examples of how to customize the build. -->

<!-- (If you delete it and reopen the project it will be recreated.) -->

<!-- By default, only the Clean and Build commands use this build script. -->

<!-- Commands such as Run, Debug, and Test only use this build script if -->

<!-- the Compile on Save feature is turned off for the project. -->

<!-- You can turn off the Compile on Save (or Deploy on Save) setting -->

<!-- in the project's Project Properties dialog box.-->
-<project basedir="." default="default" name="Adventure"> <description>Builds, tests, and runs the project Adventure.</description> <import file="nbproject/build-impl.xml"/>
<!-- There exist several targets which are by default empty and which can be used for execution of your tasks. These targets are usually executed before and after some main targets. They are: -pre-init: called before initialization of project properties -post-init: called after initialization of project properties -pre-compile: called before javac compilation -post-compile: called after javac compilation -pre-compile-single: called before javac compilation of single file -post-compile-single: called after javac compilation of single file -pre-compile-test: called before javac compilation of JUnit tests -post-compile-test: called after javac compilation of JUnit tests -pre-compile-test-single: called before javac compilation of single JUnit test -post-compile-test-single: called after javac compilation of single JUunit test -pre-jar: called before JAR building -post-jar: called after JAR building -post-clean: called after cleaning build products (Targets beginning with '-' are not intended to be called on their own.) Example of inserting an obfuscator after compilation could look like this: <target name="-post-compile"> <obfuscate> <fileset dir="${build.classes.dir}"/> </obfuscate> </target> For list of available properties check the imported nbproject/build-impl.xml file. Another way to customize the build is by overriding existing main targets. The targets of interest are: -init-macrodef-javac: defines macro for javac compilation -init-macrodef-junit: defines macro for junit execution -init-macrodef-debug: defines macro for class debugging -init-macrodef-java: defines macro for class execution -do-jar-with-manifest: JAR building (if you are using a manifest) -do-jar-without-manifest: JAR building (if you are not using a manifest) run: execution of project -javadoc-build: Javadoc generation test-report: JUnit report generation An example of overriding the target for project execution could look like this: <target name="run" depends="Adventure-impl.jar"> <exec dir="bin" executable="launcher.exe"> <arg file="${dist.jar}"/> </exec> </target> Notice that the overridden target depends on the jar target and not only on the compile target as the regular run target does. Again, for a list of available properties which you can use, check the target you are overriding in the nbproject/build-impl.xml file. -->
 -<target name="pmd"> <echo message="Running PMD..."/> <delete file="pmd-report.html"/>
<!-- Linux Configuration -->
 -<exec dir="pmd/bin" osfamily="unix" output="pmd-report.html" executable="sh"> <arg value="pmd.sh"/> <arg value="../../src"/> <arg value="html"/> <arg value="ruleset.xml"/> </exec>
<!-- Windows Configuration -->
 -<exec dir="pmd/bin" osfamily="windows" output="pmd-report.html" executable="cmd.exe"> <arg value="/c"/> <arg value="pmd.bat"/> <arg value="../../src"/> <arg value="html"/> <arg value="ruleset.xml"/> </exec> <echo message="Done. Result is saved in file pmd-report.html."/> </target> </project>
« Last Edit: 21.11.2011, 20:15:19 by esperian »

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #284 on: 21.11.2011, 22:21:22 »
A ako sa dostanem k spravnemu rulesetu  ?  :trestac:
pozeram, ze je na stiahnutie v odkazoch na stranke text game I. - introduction a taktiez sa nachadza aj v tom projekte, co sa tam da tiez stiahnut.
So say we all!

Stardox

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: OOP
« Reply #285 on: 21.11.2011, 23:11:27 »
Quote
A ako sa dostanem k spravnemu rulesetu  ?  :trestac:

Myslim ze pouzivas spravny ruleset, ja som si tiez stiahol PMD z tej istej moodle stranky a tiez mi vyhadzovalo error pri viac returnoch.

Rajo

  • Sr. Member
  • ****
  • Posts: 346
    • View Profile
Re: OOP
« Reply #286 on: 22.11.2011, 00:08:52 »
Quote
A ako sa dostanem k spravnemu rulesetu  ?  :trestac:

Myslim ze pouzivas spravny ruleset, ja som si tiez stiahol PMD z tej istej moodle stranky a tiez mi vyhadzovalo error pri viac returnoch.

detto...

sulo

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: OOP
« Reply #287 on: 22.11.2011, 01:04:00 »
Ruleset je správny, len ho asi nesprávne používate.

java -jar "cesta_k_PMD/lib/pmd-4.3.jar" "cesta_k_projektu" html "cesta_k_rulesetu/ruleset.xml" > report.html
start report.html
« Last Edit: 22.11.2011, 01:06:40 by sulo »

orsi

  • Full Member
  • ***
  • Posts: 182
    • View Profile
Re: OOP
« Reply #288 on: 22.11.2011, 06:23:03 »
v ParserImpl mam premennu commands = new ArrayList<Command>();
ako v metode public Command getCommand(String string) prejst celym polom a skontrolovat ci ten prikaz na vstupe, teda ten string je v poli a vratiť ten prikaz?? a aby to ignorovalo velkost pismen.

Agamemnon

  • Hero Member
  • *****
  • Posts: 2942
  • Per aspera ad Astra
    • View Profile
Re: OOP
« Reply #289 on: 22.11.2011, 14:25:33 »
v ParserImpl mam premennu commands = new ArrayList<Command>();
ako v metode public Command getCommand(String string) prejst celym polom a skontrolovat ci ten prikaz na vstupe, teda ten string je v poli a vratiť ten prikaz?? a aby to ignorovalo velkost pismen.

pouzijes nejaky for alebo foreach... kazdy item testujes, ci ma spravne meno... ak ma item spravne meno, cyklus prerusis a vratis ten item, ktory bol spravny...
c# ma metody ToLower()/ToUpper() pre string, ktore vratia povodny retazec so vsetky malymi alebo velkymi pismenami (string je immutable) - myslim, ze java ma nieco podobne... pouzi javadoc...

snad z tohto kod uz napises sam :)
« Last Edit: 22.11.2011, 14:27:04 by Agamemnon »
All code is crap.

42

milaninho

  • Jr. Member
  • **
  • Posts: 99
    • View Profile
Re: OOP
« Reply #290 on: 22.11.2011, 14:33:23 »
Quote
A ako sa dostanem k spravnemu rulesetu  ?  :trestac:

Myslim ze pouzivas spravny ruleset, ja som si tiez stiahol PMD z tej istej moodle stranky a tiez mi vyhadzovalo error pri viac returnoch.

ja som stiahol kostru projektu ktory bol poskytnuty, ten obsahuje aj pmd pripravene, staci spustit "ant pmd" z prikazoveho riadku v priecinku projektu a spusta mi spravny ruleset (bez obmedzenia poctu returnov). treba mat ovsem nainstalovany ant. bez ohladu na to ze ci ste spravny stiahli alebo nie, urcite spravny nepouzivate.

mirek

  • Sr. Member
  • ****
  • Posts: 448
  • darkman ZX 128k
    • View Profile
    • domovská stránka
Re: OOP
« Reply #291 on: 22.11.2011, 21:02:01 »
Quote
A ako sa dostanem k spravnemu rulesetu  ?  :trestac:

Myslim ze pouzivas spravny ruleset, ja som si tiez stiahol PMD z tej istej moodle stranky a tiez mi vyhadzovalo error pri viac returnoch.

ja som stiahol kostru projektu ktory bol poskytnuty, ten obsahuje aj pmd pripravene, staci spustit "ant pmd" z prikazoveho riadku v priecinku projektu a spusta mi spravny ruleset (bez obmedzenia poctu returnov). treba mat ovsem nainstalovany ant. bez ohladu na to ze ci ste spravny stiahli alebo nie, urcite spravny nepouzivate.

no - presne tak nam to hovorili aj na cvikach a odporucali prave tento postup.
So say we all!

milaninho

  • Jr. Member
  • **
  • Posts: 99
    • View Profile
Re: OOP
« Reply #292 on: 23.11.2011, 03:14:56 »
Quote
A ako sa dostanem k spravnemu rulesetu  ?  :trestac:

Myslim ze pouzivas spravny ruleset, ja som si tiez stiahol PMD z tej istej moodle stranky a tiez mi vyhadzovalo error pri viac returnoch.

ja som stiahol kostru projektu ktory bol poskytnuty, ten obsahuje aj pmd pripravene, staci spustit "ant pmd" z prikazoveho riadku v priecinku projektu a spusta mi spravny ruleset (bez obmedzenia poctu returnov). treba mat ovsem nainstalovany ant. bez ohladu na to ze ci ste spravny stiahli alebo nie, urcite spravny nepouzivate.

no - presne tak nam to hovorili aj na cvikach a odporucali prave tento postup.

:D by ma zaujimalo kto to hovoril tebe

Stardox

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: OOP
« Reply #293 on: 23.11.2011, 03:54:19 »
Quote
ja som stiahol kostru projektu ktory bol poskytnuty, ten obsahuje aj pmd pripravene, staci spustit "ant pmd" z prikazoveho riadku v priecinku projektu a spusta mi spravny ruleset (bez obmedzenia poctu returnov). treba mat ovsem nainstalovany ant. bez ohladu na to ze ci ste spravny stiahli alebo nie, urcite spravny nepouzivate.

Tak ja som spravil toto, ze som stiahol uz pripraveny projekt z moodlu, potom som si stiahol ruleset z moodlu (scenar 06 dole), nainstaloval som PMD ako plugin v Netbeanse, pridal tam ruleset.xml a spustam si to cez Tools->RunPMD.

Ci to nedobre daco robim?

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #294 on: 23.11.2011, 08:09:45 »
tak o niecom takomto pocujem prvy krat... kazdopadne, ked mam stiahnuty defaultny PMD zo sourceforge a kontrolujem to nim priamo v netbeanse, je to chyba ? alebo si to mozem takto nechat ? V podstate mam vsetko fixnute a nemam ziadnu chybu. Len ci nema ten customizovany ruleset nejake pravidlo naviac alebo podobne...

milaninho

  • Jr. Member
  • **
  • Posts: 99
    • View Profile
Re: OOP
« Reply #295 on: 23.11.2011, 16:47:34 »
je na vas aby ste si poriesili to aby ste splnali podmienky.. ak si stahujete vlastne PMDcka a instalujete pluginy, tak to robite na vlastne triko (na cviceniach predpokladam ze bol prezentovany postup ktory som pisal vyssie)..

matus217

  • Jr. Member
  • **
  • Posts: 69
    • View Profile
Re: OOP
« Reply #296 on: 23.11.2011, 19:58:07 »
Na cviceniach bol reprezentovany postup ist v netbeanse do tools plugins a pridat PMD. Preto sa pytam kompetentnych ci si mozem nechat sourceforge PMDcko alebo s tym mam nieco robit. Zatial som sa odpovede nedockal...

Stardox

  • Newbie
  • *
  • Posts: 42
    • View Profile
Re: OOP
« Reply #297 on: 23.11.2011, 20:03:12 »
Hmmm, nam cviciaci tiez hovoril ze cez Tool->RunPMD staci. Nevadi, nic sa zatial nedeje, opytam sa na cviceni, ze co povie cviciaci a vyriesi sa to.  :)

milaninho

  • Jr. Member
  • **
  • Posts: 99
    • View Profile
Re: OOP
« Reply #298 on: 23.11.2011, 20:49:40 »
tak potom je kompetetny vas cviciaci.. a treba sa pytat jeho..

Wolfdale

  • Global Moderator
  • Sr. Member
  • *****
  • Posts: 489
  • /root
    • View Profile
Re: OOP
« Reply #299 on: 23.11.2011, 22:02:13 »
aha

Ešte sme to nedokončili celkom, ale takmer sme už začali.