Kom ihåg mig?
Home Menu

Menu


Utvärdering av Phalanger 3.0 (.NET Kompilator för PHP5 med inslag av PHP6)

 
Ämnesverktyg Visningsalternativ
Oläst 2013-07-02, 14:46 #1
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
90% av indenteringen ser likadan ut i välskriven kod som i Python kod (notera att du oftast har valmöjligheter i var du bryter raderna i python). Sen att du tycker det är en struntsak huruvida din kod är lätt läsbar eller ej, det låter jag dig stå för (det finns ca 43243242342 undersökningar som visar på att en konsekvent indentering leder till bättre läsbarhet). Själv tycker jag inte om att de ersatt andra avgränsningstecken med tvånget av indentering - men det tror jag är för att mina ögon är så vana vid C/PHP/Java/C#/etc-tecknena. Men det är ett tydligt val som faktiskt går väldigt bra ihop med faktiska egenskaper hos programmerare.

Sen vet jag inte om du är medveten om att en versions-taggning i din VCS leder till precis samma sak som en kompilerad binär. Det är en förhållandevis självklar process om man har acceptanstester eller liknande för varje lanserad version. Binären är lite svårare att ändra i annat än byta namn och i värsta fall göra den oidentifierbar eller obrukbar, taggningen är lättare att följa då man kan ta sig en titt i historyn om någon ändrat något (en tagg är en tagg är en tagg, den SKALL ej förändras. För versioner under arbete använder man branches.)
Clarence är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-02, 20:06 #2
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av Clarence Visa inlägg
90% av indenteringen ser likadan ut i välskriven kod som i Python kod (notera att du oftast har valmöjligheter i var du bryter raderna i python). Sen att du tycker det är en struntsak huruvida din kod är lätt läsbar eller ej, det låter jag dig stå för (det finns ca 43243242342 undersökningar som visar på att en konsekvent indentering leder till bättre läsbarhet). Själv tycker jag inte om att de ersatt andra avgränsningstecken med tvånget av indentering - men det tror jag är för att mina ögon är så vana vid C/PHP/Java/C#/etc-tecknena. Men det är ett tydligt val som faktiskt går väldigt bra ihop med faktiska egenskaper hos programmerare.
Jag är för egen del ganska petig med indentering och placering av klamrar och parenteser i koden, men det stämde inte överens med vad Python anser trots att koden var tydligt indenterad/strukturerad. Men en teckenposition (dvs ett mellanslag för lite eller för mycket) hit eller dit så blev det körfel i runtime....

Python skrek högt om jag använde {tab} i stället för {space} för indenteringen, jag var tvungen att slå på automatisk omvandling till {space} för {tab}-tecknen för att det skulle gå att köra koden. Om jag minns rätt så är inte ens Cobol lika kinkig om man använder {tab} eller {space} vid indentering.

Ruby verkar vara betydligt mer generös med definitionen och toleransen av whitespace....

Jag har dock fortfarande problem med require i Ruby, får det bara inte att fungera.... Filerna ligger i samma katalog. Jag har PATH till Ruby Bin-katalog, alla annan kod jag testkör med Ruby funkar klockrent "load" funkar men inte "require". Vad gör jag för fel? Jag kör version 2.0.0p195 från 2013-05-14.

Kod:
# File: Trig.rb
# Date: 2013-07-01
# Purpose: Trogonometry, include this namespace with require...

=begin
    This is a multiline comment in Ruby
=end

module Trig
  PI = 3.14159265358979

  def Trig.sin(x)
   # ..
   return x
  end
  def Trig.cos(x)
   # ..
   return x
  end
end
Kod:
# File: TrigTest.rb
# Date: 2013-07-01
# Purpose: Trogonometry, Test to include Component with require...

=begin
    This is a multiline comment in Ruby
=end

#load "Trig.rb"
#load "Action.rb"

require("Trig")
require "Action"

y = Trig.sin(Trig::PI/4)
wrongdoing = Action.sin(Action::VERY_BAD)
puts(Trig::PI)
shit jag hittade felet, jag ska köra require_relative.... Då funkar det som jag tänkt....

Senast redigerad av Conny Westh den 2013-07-02 klockan 20:16
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-07-03, 08:36 #3
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Clarence Clarence är inte uppkopplad
Administratör
 
Reg.datum: Jan 2003
Inlägg: 1 974
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Jag är för egen del ganska petig med indentering och placering av klamrar och parenteser i koden, men det stämde inte överens med vad Python anser trots att koden var tydligt indenterad/strukturerad. Men en teckenposition (dvs ett mellanslag för lite eller för mycket) hit eller dit så blev det körfel i runtime....

Python skrek högt om jag använde {tab} i stället för {space} för indenteringen, jag var tvungen att slå på automatisk omvandling till {space} för {tab}-tecknen för att det skulle gå att köra koden. Om jag minns rätt så är inte ens Cobol lika kinkig om man använder {tab} eller {space} vid indentering.
Python gnäller väl bara om du blandar space-indentering och tabb-indentering? Och gör du det kan du få en rejäl röra mellan olika editorer då en tabs representation inte är fast medans spaces är det. Sen går det väl också lätt att stänga av denna varning om du vill skriva dålig kod.

Sen bör du ändå följa PEP8 om du skriver Python. Vilken säger åt dig att använda spaces (för att dess representation är konsekvent). Du ställer helt enkelt in din editor att använda spaces när du trycker på tab. Denna best practice återfinns i många style guidelines för en mängd språk.

Att du får runtime errors med rent felaktig indentering är väl rätt självklart. Om alla dina avgränsare är indentering så kan man väl förvänta sig att de är korrekta. Annat är väl ungefär som att tycka att ) ska kunna ersätta } i C# när det ändå inte finns någon starting (.
Clarence är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 18:08.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017